Suite

Joindre des lignes par les coordonnées X, Y et Z pour TerraExplorer à l'aide de FME ?

Joindre des lignes par les coordonnées X, Y et Z pour TerraExplorer à l'aide de FME ?


Ma tâche consiste à générer des polygones 3D à partir de données linéaires, qui seront ensuite importées dans le logiciel de présentation TerraExplorer 3D. Des problèmes surviennent lorsqu'il y a des lignes qui se chevauchent dans l'espace 2D, mais qui ont des valeurs Z différentes.

J'utilise principalement GeoMedia, mais j'ai également accès à FME.

Les caractéristiques linéaires sont divisées en quatre catégories : 'Bord de toit', « Ligne de construction » (généralisé), 'Haut du toit en pente', 'Bord de toit à l'intérieur du corps de bâtiment' et « Bas du bord du toit à l'intérieur du corps du bâtiment ». (Au fait, ce sont des données de Norvège. Les noms sont bien plus accrocheurs en norvégien.)

Les trois premiers sont faciles à polygoniser. Mais pour m'assurer que le polygone 3D est correct avec les toits en pente, je dois faire en sorte que les lignes se joignent les unes aux autres en fonction non seulement des coordonnées X et Y, mais également de la valeur Z.

C'est la situation de départ. Les lignes rouge, violette et orange sont « bord du toit », « ligne du bâtiment » et « haut du toit en pente »

Le vert indique « bord de toit à l'intérieur du corps de bâtiment » et en dessous se trouve « le bord inférieur du toit à l'intérieur du corps de bâtiment ». Les étiquettes sont les valeurs Z pour chaque nœud dans les lignes.

Je dois m'assurer que « bord de toit » se connecte à « bord de toit IBB » ou « bas de bord de toit IBB » en fonction de laquelle de ceux-ci a la même valeur Z.

C'est ce qui se passe lorsque je génère des polygones à partir de toutes les lignes disponibles dans GeoMedia. Il extrait la valeur Z de la ligne supérieure ou inférieure apparemment au hasard. Je pourrais le faire manuellement et sélectionner uniquement la ligne pertinente pour la partie polygone, mais ce n'est pas une option lorsque je suis censé générer des bâtiments 3D pour une ville de taille moyenne.

Je ne suis pas sûr que GeoMedia m'aidera davantage dans ce processus.

FME peut-il aider avec la génération d'objets 3D à partir de lignes 3D et l'accrochage à des lignes 3D égales en 2D ?

Je ne parle pas couramment Python.


Puisque vous avez FME, j'essaierais d'exécuter les données via le transformateur LineJoiner. Il y a un paramètre là-dedans (appelé "Considérer l'élévation du nœud) qui vous permet de contrôler s'il faut se connecter en fonction uniquement de X/Y ou s'il faut également inclure la valeur Z.

Il s'agit simplement de joindre des lignes, pas de créer des polygones, et lorsque trois lignes se rencontrent en un seul point, on ne sait pas laquelle sera jointe. Mais ce que j'espère, c'est que cela prétraitera suffisamment les données pour que le générateur de polygones GeoMedia produise de meilleurs résultats.

Je pense que ça vaut le coup d'essayer. Cela ne devrait prendre que quelques secondes pour confirmer si cela aide ou non.

L'alternative est d'essayer le transformateur AreaBuilder, qui créera en fait des entités surfaciques. Mais il n'a pas la possibilité de contrôler la valeur Z, donc je ne sais pas si les résultats seraient meilleurs ou non. Encore une fois, je pense que cela vaut la peine d'essayer si rien d'autre ne fonctionne.


Voir la vidéo: Outil calculateur de champ: Extraction des coordonnées X, Y dun shapefile