IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

Fusionner les parcelles qui se touchent


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Par défaut Fusionner les parcelles qui se touchent
    Bonjour,
    j'ai une table des parcelles sous postgis, mon objectif est de fusionner uniquement les parcelles qui se touchent j'utilise la fonction st_union lorsque les parcelles se touchent (st_touches) le problème c'est que quand j'ai uniquement 2 parcelles qui se touchent je les fusionne et j’obtiens un seul objet sans problème (c'est bon) mais dans le cas où j'ai 3 parcelle (ou plus) qui se touchent la fusion se fait par deux objets (parcelles) et du coup j’obtiens 2 objets au lieu d'avoir un seul.
    avec une boucle je pense que c'est possible mais j'ai besoin de quelques pistes

    sur l'image jointe le problème est plus claire

    merci
    Images attachées Images attachées  

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    il faut le faire de manière récursive en utilisant un ordonnancement des parcelles, par exemple par "distance"
    Dans mon bouquin sur SQL je donne un exemple au chapitre SIG.

    Sinon, autre possibilité c'est de faire appel à la fonction d'agrégation ST_Union. Mais dans ce cas, vous devez identifier au préalable quelles parcelles forment un tout.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2014, 20h27
  2. Réponses: 4
    Dernier message: 13/06/2011, 17h41
  3. Fusionner les vertices qui ont la meme position
    Par epsilon68 dans le forum Développement 2D, 3D et Jeux
    Réponses: 22
    Dernier message: 06/10/2008, 12h31
  4. [ODBC] erreur SQL pour les unions qui renvoient vide
    Par fabriceMerc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/11/2003, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo