#1 Fri 30 September 2016 18:14
- Theos2000
- Participant assidu
- Date d'inscription: 15 Jun 2015
- Messages: 221
Somme bati à la parcelle / Postgis
Bonjour,
J’espère que je ne ferais pas de doublons et que je serais assez clair en l’abscence de copie d’écran, mais les recherches sur le forum n’ont rien donnée. Après quelques temps passé sur Qgis, je débute sur Postgis pour effectuer mes traitements….et des fois ça va et d’autres fois ça coince…mais bien.
Le but étant de :
Pouvoir faire la somme d’un ensemble de « bâti » présent au sein de chaque parcelle. Pour cela j’utilise la commande st_centroid et st_intersect afin de récupérer mon champ bâti et parcelle, mais je n’ai pas trouvé le moyen d’agréger mes valeurs pour chaque parcelle.
Or ces valeurs vont me permettre d’établir un ratio d’urbanisation de la parcelle dont j’ai besoin pour la suite du processus.
(Pour cette opération j’utilisais le plug-in Qmarxanz sur Qgis (et que celui-ci est devenu obsolète), qui se servait du réseau parcellaire comme grille pour cette opération.)
Si commence à comprendre les commandes spatiales, je bloque pas mal au niveau des agrégations de ce style, si jamais vous avez l’idée qui me manque…
Merci d’avance pour votre aide… !
PS : Question subsidiaire : Comment rajouter du bâti qui n’intersecte pas…avec un Case When ?
Hors ligne
#2 Sat 01 October 2016 09:22
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Somme bati à la parcelle / Postgis
Bonsoir,
Deux options:
1) découper les batiments a cheval sur des parcelles, pour avoir des surfaces exactes
2) sommer la surface pour les batiments qui intersectent les parcelles, sans découpage des batiments:
select p.id, sum(st_area(b.geom)) as area,
from parcelle p join batiment b on st_intersects(b.geom, p.geom)
group by p.id;
(en cas de découpage, il faut rajouter un st_area(st_intersection(p.geom, b.geom))
Quelles sont les conditions sur les batiments qui n'intersectent pas ?
En général, un UNION est pratique pour ajouter des records à un résultat.
Nicolas
Dernière modification par Nicolas Ribot (Sat 01 October 2016 09:44)
Hors ligne
#3 Sat 01 October 2016 12:26
- Theos2000
- Participant assidu
- Date d'inscription: 15 Jun 2015
- Messages: 221
Re: Somme bati à la parcelle / Postgis
Merci pour cet élément de réponse et de la réactivité...Je vais voir ce que ca donne d'ici peu, en tout cas ca fait plaisir...une semaine que je tournais en rond. Merci ;-)
en gros l'iddée serait de rajouter des bâtis de la bd topo au cadastre et bien que je sache selectionner ceux qui s'intersecte comment inverser la sélection..."not st_intersects ?
Dans un second temps l'idée serait de selectionner en fonction de mon ratio 'urbanisation de selectionner des parcelles ou bien de faire des zones tampons sur mon bati....J'ai pensé au Case When....est ce la bonne voie sur postgre ?
Merci déjà pour ton aide...la lumière au bout du tunnel lol !
Hors ligne
#4 Mon 03 October 2016 09:11
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Somme bati à la parcelle / Postgis
Bonjour,
Nicolas tu comprends mieux que moi !
J'avoue qu'avant même de parler requête je comprends pas la méthode.
Si :
l'iddée serait de rajouter des bâtis de la bd topo au cadastre
J'ai une table batiment_cadatsre une table batiment_bdtopo chacune ayant un champs géométrie de type polygone.
Je compare ces deux couches pour avoir la différence. Les parcelles cela vient après.
Bon j'ajoute que je ne suis pas sur compte tenu des méthodes de production de ces données et de leur chronologie que la différence en plus soit dans ce sens là, mais faut tester.
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne