#1 Sun 11 November 2012 19:10
- Trouty
- Juste Inscrit !
- Date d'inscription: 2 Nov 2011
- Messages: 1
[PostGIS/PostgreSQL] Groupement de polygones
Salut,
J'utilise une table appelée nyc_neighborhoods content 129 enregistrements.
name - Nom des quartiers
boroname - Nom des communes (les quartiers sont a l'interier)
geom - Polygone, limite des quartiers
Je veux créér une table boroughts_2 contenant la géométrie des communes ainsi que l'air de chaque commune en rapport avec la surface totale de la ville (New york)
J'ai essayé d'utiliser ça :
Code:
select boroname as Boroughs, sum(st_area(geom))/1000000 as total_area, sum(st_area(geom)/649383532.905425)*100 as area_perc, ST_Buffer(ST_Union(geom), 0) into boroughts_2 from nyc_neighborhoods group by boroname
Ce qui me donne ca quand je visualise : http://imageshack.us/photo/my-images/94/qgis.png/
Il y a des traits completement inutiles à l'intérieures de mes polygones (les trous c'est des quartiers manquants, ca ce n'est pas le probleme). En plus, si j'affiche les étiqettes, j'ai 15 fois la même étiquettes sur un polygones, et je ne comprends pas pourquoi..
Merci pour votre aide !
Hors ligne
#2 Mon 12 November 2012 18:16
Re: [PostGIS/PostgreSQL] Groupement de polygones
Bonsoir,
Je pense que votre couche contient des lacunes (noeuds non jointifs/communs) la où vous voyz apparaitre des lignes dans l'union.
l'étiquette mulitiple vient du fait que vous avez un objet de type MULTIPOLYGON.
Dernière modification par Mathieu BOSSAERT (Mon 12 November 2012 18:21)
Mathieu BOSSAERT
Association GeoRezo
Hors ligne
#3 Mon 12 November 2012 20:23
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [PostGIS/PostgreSQL] Groupement de polygones
Bonsoir,
Et avec un leger buffer sur les geometries avant de faire l'union::
select county, st_union(st_buffer(geom, 0.0001)) as geom
from nyc
group by county;
Sur la couche chopée sur le net pour le test, la topologie est toute pourrie.
Apres avoir corrigé les geometries avec st_makeValid(geom), la requete avec le leger buffer donne le resultat sur l'image jointe.
Il doit y avoir moyen de jouer avec la taille du buffer connaissant la précision des données, et eventuellement en travaillant en projection (et pas lat long comme dans le mon test)
Nicolas
Hors ligne