Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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é ?

Annonce

Printemps des cartes 2024

#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

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

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: 1536

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


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB