banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oubliĂ© ?

#1 Mon 08 November 2010 19:21

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Calcul de surface avec deux tables spatiales

Bonjour,

Je souhaite calculer lea surface géographique d'un ensemble de parcelle en utilisant une valeur de référence. J'ai un ensemble de parcelle A qui intesect avec un ensemble de parcelle B, pour chaque table ou ensemble de parcelle il y a un champ surface, le champ surface de l'ensemble A contient une valeur. Le but est de déduire la surface de l'ensemble B en le calculant par rapport à la proportion qu'il occupe dans l'ensemble A.

J'ai déjà travaillé sur une formule magique mais je ne suis pas sur du résultat :

Code:

Select Parcellaire_A.Commune, Parcellaire_A.Section, Parcellaire_A.Parcelle, Parcellaire_B.Parcelle, Parcellaire_B.Surface, proportionoverlap(Parcellaire_A.obj, Parcellaire_B.obj) from Parcellaire_A, Parcellaire_B where Parcellaire_A.obj intersects Parcellaire_B.obj

Merci

Hors ligne

 

#2 Tue 09 November 2010 08:31

ppluvinet
Participant assidu
Lieu: VALENCE
Date d'inscription: 6 Aug 2007
Messages: 628

Re: Calcul de surface avec deux tables spatiales

Il me semble que c'est une question qui irait mieux dans le forum MapInfo (je me trompe ?)


Pour davantage de lisibilité du code, je rajouterai quelques espaces.

Code:

Select Parcellaire_A.Commune, Parcellaire_A.Section, Parcellaire_A.Parcelle, 
Parcellaire_B.Parcelle, Parcellaire_B.Surface, 
proportionoverlap(Parcellaire_A.obj, Parcellaire_B.obj) 
from Parcellaire_A, Parcellaire_B 
where Parcellaire_A.obj intersects Parcellaire_B.obj

Et désolé, je connais mal la fonction proportionoverlap.

Dernière modification par ppluvinet (Tue 09 November 2010 08:31)


Pascal PLUVINET

Hors ligne

 

#3 Tue 23 November 2010 10:26

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Calcul de surface avec deux tables spatiales

Bonjour,

J'ai pris un peu de temps pour rĂ©pondre car j'ai souhaitĂ© chercher une solution que je n'ai toujours pas trouvĂ©, donc je relance ce sujet. Pour rĂ©pondre Ă  ppluvinet, c'est justement mon problĂšme, je souhaite adapter ce type de requĂȘte utilisĂ©e sous MapInfo Ă  Postgresql/Posgis.

Hors ligne

 

#4 Tue 23 November 2010 11:02

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1274
Site web

Re: Calcul de surface avec deux tables spatiales

Bonjour geobrie,

si je comprends bien ta recherche, tu veux renseigner un champ à partir d'une valeur de référence, et au prorata de l'intersection entre deux objets.

Si c'est bien cela, voici un exemple fonctionnel avec la table commune de la bd_topo et une table contenant les perimtres d'inventaire et réglementaires environnementaux.

Je calcule la part de la population communale (valeur fixe popul) potentiellement concernée par la ZPS.

Code:

select a.code_insee, a.popul, 
round(((area2d(intersection(a.geometrie, b.geometrie))/area2d(a.geometrie))*100)::numeric,2) AS  "%_de la commune_en_en_zps", 
round(((area2d(intersection(a.geometrie, b.geometrie))/area2d(a.geometrie))*popul)::numeric,2) AS popul_concernee
FROM ign_bd_topo.commune a, perimetre b
WHERE type_perimetre = 'zps'AND st_intersects(a.geometrie, b.geometrie)

[edit]
Si on vaut la population non concernée, on selectionne

Code:

round(((1-area2d(intersection(a.geometrie, b.geometrie))/area2d(a.geometrie))*popul)::numeric,2) AS popul_non_concernee

[/edit]
J'espÚre que ça t'aidera.

Dernière modification par Mathieu BOSSAERT (Tue 23 November 2010 11:41)


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#5 Tue 23 November 2010 11:37

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Calcul de surface avec deux tables spatiales

Bonjour Mathieu,

Merci pour cette rĂ©ponse, en regardant ta requĂȘte, je pense que c'est exactement ce type de requĂȘte que je tente de faire fonctionner. Je vais tenter de l'intĂ©grer Ă  mon projet. Affaire Ă  suivre !!! Encore un grand merci pour cette aide prĂ©cieuse.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo