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 Wed 18 March 2009 12:58

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 330

Détection de trous

Bonjour,

J'ai une couche représentant des zones. A l'intérieur de ces zones, j'ai une autre couche contenant des objets qui devraient recouvrir chaque zone.
Je veux détecter les trous et les extraire dans une 3ème couche. Je pensais tout simplement utiliser  un DONUTBUILDER, mais la sortie de ce transformer me rend mon trou, plus une série de parasites (tout ca dans une seule entité).

- Comment puis-je ne récupérer que mon trou (sans parasite bp de tolérance)?
- Comment éviter l'agglomération du résultat

Merci de votre aide et bonne journée

Hors ligne

 

#2 Wed 18 March 2009 13:11

Sylvie
Membre
Date d'inscription: 5 Sep 2005
Messages: 3066

Re: Détection de trous

Bonjour Pierre-Yves,

Pour la détection des trous, c'est plutôt DONUTHOLEEXTRACTOR

Sylvie

ps : t'as raison, les parasites dans les trous c'est la galère roll

Hors ligne

 

#3 Wed 18 March 2009 13:27

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 330

Re: Détection de trous

D'apres la doc, DONUTHOLEEXTRACTOR décompose une entité surfacique trouée en ces composants de bases.

Dans mon cas, les trous n'existent pas encore. il faut les créer en "poinconnant" chaque zone avec les objets.
Tout cela pour ne garder que les parties qui n'ont pas pus être "poinconnées". Ces parties représentant alors mes trous. (manque d'objets)

Hors ligne

 

#4 Wed 18 March 2009 14:12

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 330

Re: Détection de trous

En fait, je pense que mon probleme de parasites vient de la tolérance ou la précision du logiciel ayant fourni les données source.

Peux t'on régler cette tolérance dans FME afin de l'adapter au logiciel source ?

Hors ligne

 

#5 Wed 18 March 2009 14:46

Sylvie
Membre
Date d'inscription: 5 Sep 2005
Messages: 3066

Re: Détection de trous

Avant de poinçonner, tu peux arrondir les coordonnées des entités à la précision voulue avec un CoordinateRounder

Hors ligne

 

#6 Wed 18 March 2009 16:04

jaykayone
Participant actif
Date d'inscription: 15 Feb 2007
Messages: 95

Re: Détection de trous

Bonjour,

je pense que vous pouvez utiliser un areabuilder avant le donutholeextractor ...

jeff

Hors ligne

 

#7 Fri 20 March 2009 06:51

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 330

Re: Détection de trous

je me suis peut-être mal exprimé depuis le début. Je voudrais tout simplement ressortir les manques de données surfaciques d'une couche sur une autre couche. Les objets de la  2ème couche étant censé être inclus dans la 1ere et censé la remplir entierement. (Comme des sections cadastrales dans une commune, où on devrait reconstituer les objets manquants).

Vous trouverez en piece jointe l'extrait du FMW qui devait générer ces parties manquantes (en vert foncé sur la photo d'ecran contenu dans le fichier .doc

Merci de votre aide

Dernière modification par pyjoubert (Fri 20 March 2009 07:38)


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

Hors ligne

 

#8 Fri 20 March 2009 09:36

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: Détection de trous

Aloha
Je n'ai pas encore ouvert le fmw, mais avec un clipper, tu ne peux pas obtenir cette information ? Non bien entendu.

Si tu pars d'une bd, tu peux toujours essayé ce genre de requête :

Code:

SELECT SDO_GEOM.SDO_AREA (SDO_GEOM.SDO_XOR (PCI_SECT.GEOMETRY,
                                            SR1.GEOMETRY,
                                            100
                          ),
                          100
       )
  FROM
 (
SELECT SDO_AGGR_UNION (SDOAGGRTYPE (PCI_PARC.GEOMETRY, 100)) GEOMETRY
  FROM A_REIMS.PCI_PARC PCI_PARC
 WHERE PCI_PARC.IDENT LIKE '454000BD%'
GROUP BY SUBSTR (PCI_PARC.IDENT, 1, 8)) SR1 ,

 A_REIMS.PCI_SECT PCI_SECT
 WHERE (PCI_SECT.IDENT = '454000BD')

Celle-ci me renvoie l'aire de l'intersection symétrique des parcelles et de la section BD (ce que tu recherches).

Sous FME, je ne vois pas encore comment faire.

Dernière modification par Brindavoine (Fri 20 March 2009 15:27)


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#9 Mon 23 March 2009 11:21

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: Détection de trous

Aloha
Si tu n'as toujours pas de solutions, j'ai produit quelque chose sur les parcelles et les sections de notre base. Voir le fmw joint. Je découpe les objets suivant les limites de mes objets englobants, puis j'aggrège le résultat. Ensuite, je lie l'objet limite et l'aggrégat dans un donut builder, puis je récupère l'objet extèrieur au "trou", ce qui équivaut dans mon cas à l'espace laissé libre par les parcelles dans les sections.

Dernière modification par Brindavoine (Mon 23 March 2009 11:21)


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

art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

Pied de page des forums

Powered by FluxBB