Open Matheoia opened 1 year ago
Dans ce code python, il y a une fonction qui créer des bâtiments en à l'aide de leur footprint (index) Une fois ces bâtiments construit, le code permet de fusionner 2 bâtiments en un seul fichier .json. Le code va lire chaque json et adapter les boundaries. Il va aussi ajouter à chaque point, une translation selon le vecteur "translate" du bâtiment en question. La version du 17/04 n'est pas fonctionnelle, le fichier .json crée ne peut pas s'ouvrir sur ninja.cityjson.org Version du 26/04 est fonctionnelle, l'erreur principale se situait au niveau du renommage des parents et enfants de chaque objet cityjson.
@tmuguet, je me permets de te taguer ici pour attirer ton attention sur les invites de commandes que l'on utilise et ce que l'on est arrivé à reconstruire grâce au retour.
Pour répondre à cette issue, il faut d'abord donner dans un premier temps et quelque part une première explication des invites de commande Geoflow. Tout cela est effectivement compréhensible sur https://github.com/geoflow3d/geoflow-bundle. Dans l'invite de commande, on retrouve au moins alors :
ce que l'on obtient si l'on met en globals le geopackage et le nuage de tout un quartier :
on a alors ce bout de code : https://github.com/Matheoia/Plugin-QGIS-Reconstruction-3D-de-batiments/blob/9b035ca999ed0ab3d992fb0aded71ae5ee883583/shift.py qui permet le décalage des bâtiments où le bâtiment au sol le plus bas sera la base de hauteur 0 ; voilà le quartier décalé devenu facilement observable sur QGIS : Avec Ninja :
Sur QGIS :
La première question qui me vient est alors : est ce que LoD 1.3 vous va ? je ne pense pas pouvoir réaliser avec cette flowchart le quartier en 2.2.. dans ce cas il faudrait alors finir ce script fusion.py qui pourrait réaliser la fusion de différents bâtiments LoD2.2
@Matheoia excellent! Je ne vais pas pouvoir tester avant au moins ce soir, mais ça a l'air très bien. @benoitblanc si jamais tu veux jeter un oeil 😉 Question bête, en LoD1.x, il n'y a que le 1.3 en sortie? Ou s'il y en a d'autres, est-ce qu'ils fonctionnent aussi? Il faudrait s'assurer de cela avant de passer au LoD2.
@tmuguet Avec la flowchart runner.json, il y a aussi le LoD 1.2
Voici une capture de tout l'écran pour y voir plus clair :
et le lien vers les fichiers json du quartier : https://github.com/Matheoia/Plugin-QGIS-Reconstruction-3D-de-batiments/tree/Matheo/quartier
Le LoD 2.2 reste donc quand même souhaité ? Si oui, @ArnaudBreillad avait bien commencé un script qui essaie justement de fusionner deux json, je te laisse alors peut-être avec lui pour voir si cela t'intéresserait.
Ok top! D'un point de vue utilisateur, je pense qu'il est préférable d'avoir un comportement identique quel que soit le niveau de LoD, donc ça serait bien d'essayer d'avoir le LoD 2 dans un seul fichier également. A regarder aussi si QGIS serait capable de le faire, auquel cas on aurait "juste" à appeler son API pour le faire.
En bonus, à faire après #17 et #25
Le but étant de visualiser plusieurs bâtiments et étant donné que Geoflow reconstruit bâtiment par bâtiment, il faut effectivement avoir un moyen de fusionner plusieurs json pour obtenir un grand json qui comporte plusieurs bâtiments.
Pour cela, on a la possibilité de voir à quoi ressemble le json d'un quartier grâce à 3D Bag, par exemple en téléchargeant sur : https://3dbag.nl/en/download?tid=5910
Et c'est en analysant ce json que l'on pourra déplacer certaines parties des deux json en Python pour créer LE json. On se contente dans un premier temps de fusionner deux json ensemble avec des données test.