domlysz / BlenderGIS

Blender addons to make the bridge between Blender and geographic data
GNU General Public License v3.0
7.83k stars 1.36k forks source link

Import DXF bloqué par Blender GIS #433

Open elevencore opened 3 years ago

elevencore commented 3 years ago

Bonjour,

J'ai vu quelques échanges en français alors je me permets de poster mon problème en français.

Blender and OS versions

Blender 2.91 sur Windows 10 64bits

Bug description

Impossible d'importer un dxf après avoir fait une importation de Carte sous Blender GIS

How to Reproduce

Démarrer avec un nouveau fichier blender vierge

Importer une carte de base

2021-01-22_21h44_18

Après importation de la carte, faire l'importation d'un fichier DXF 2021-01-22_21h47_10

A ce moment là, la fenêtre d'exploration des dossiers ne s'ouvre pas et j'ai le message d'erreur suivant :

2021-01-22_21h48_24

L'import DXF se passe sans aucun souci le reste du temps sur Blender.

En espérant avoir été assez clair ! Merci d'avance pour une solution parce que du coup l'utilisation de Blender GIS est impossible si je ne peux pas importer des données dxf géoréférencées ensuite.

Cordialement.

domlysz commented 3 years ago

oui l'importeur DXF a semble-t-il été modifié pour être compatible avec l'addon Blender-OSM qui ne gere pas du tout la question du georéféréencement de la même façon que BlenderGIS. Les deux outils utilisent des propriétés stockées au niveau de la scene, en particulier SRID, longitude et latitude. Le SRID correspond à l'identifiant de la projection, par convention il s'écrit sous la forme AUTORITHY:CODE, authority étant le plus souvent EPSG. On comprend donc que TMERC n'est pas un SRID valide.

Alors pourquoi ce TMERC? Et bien BlenderOSM importe toujours des données non projetées (longitude/latitude) provenant de la base OSM, et pour limiter les distorsions, il les transforme systématiquement dans une projection transverse Mercator locale c'est à dire centrée sur l'emprise des données importées. Il s'agit donc, à chaque import, d'une projection sur mesure à laquelle ne correspond aucun SIRD. Il y a bien des projection transverse standards avec un SRID, mais elles ne sont pas centrées aux mêmes endroits et n'utilisent pas forcement la même ellipsoide de référence.

Voilà pour les explications techniques, une solution simple est donc de supprimer la propriété SRID (scene panel > custom props), d'importer le dxf puis de recréer la propriété. Evidement le dxf ne sera pas aligné, il faudra donc recentrer les objets selon les coordonnées projetées de la scene (propriétés crs x et crs y). Il est possible aussi d'utiliser le paneau de gestion du georéférenceement de BlenderGIS pour mettre les coordonnées de l'origine à zéro avant l'import du dxf.

Il va sans dire que pour que tout cela fonctionne vos données doivent être dans la même projection, donc si vous avez utilisé l'outil basemaps avec un service en Web Mercator (type Google), votre DXF devra aussi être dans cette projection. Soyez vigilant sur le fait que cette projection induit de fortes distortions et est donc à proscrire pour un plan topo.

elevencore commented 3 years ago

Bonjour,

Merci pour cette réponse détaillée. Concernant les enjeux liés à la projection, j'avoue que tout n'est pas encore clair pour moi sur ce point. Il faut que je prenne le temps de faire le tour du concept pour mettre en place ma méthode de travail.

Cordialement.

elevencore commented 1 year ago

Petit commentaire supplémentaire pour référence : C'est le géoréférencement qui bloque l'import DXF apparement. Si je supprime le géoréférencement de la scène, alors l'import DXF se fait sans soucis.