Géoréférencement DXF à l'aide de QGIS? [dupliquer]

14

Je me suis procuré un dxf qui est construit avec des unités à la mauvaise échelle. Comment puis-je augmenter cela dans QGIS? Notez qu'il s'ouvre dans QGIS, juste dans les mauvaises unités de carte et l'emplacement.

Willy
la source
La réponse de nhopton ci-dessus sur l'utilisation du plugin qgsAffine n'a fonctionné pour moi que la semaine dernière. J'avais un dxf qui était mis à l'échelle 1000 fois le CRS que je voulais. J'ai transformé le dxf en shp avec le plugin standard, puis transformé X et Y en multipliant par 0,001 dans qgsAffine, et le problème a été résolu. PS Remercié tardivement à nhopton pour les conseils que je n'ai pas pu étendre avant la fermeture du forum QGIS!
blackthorn
J'ai également quelques DXF que je souhaite affiner. J'ai utilisé OpenJump une fois, car je ne pouvais pas faire les calculs pour le plugin QGIS. Cependant, j'ai finalement trouvé plus facile d'enregistrer ma couche SHP avec une projection connue en tant que DXF, d'ouvrir celle-ci dans QCAD (gratuit), d'importer le DXF qui devait être affiné et de faire toutes les mises à l'échelle, la rotation et le déplacement du DXF là-bas. Lorsque tout était en place, je l'ai ensuite enregistré en tant que DXF et réimporté dans QGIS où la projection a été conservée et mon DXF était désormais également affiné à la position et à l'échelle appropriées. Je pourrais alors enregistrer le DXF en tant que SHP.
Melissa

Réponses:

12

Vous géoréférenciez des rasters et des vecteurs affines :)

QGIS dispose d'un plug-in affine (qgsAffine) avec lequel vous pouvez mettre à l'échelle les couches vectorielles. Vous pouvez également appliquer des décalages x et y à tous les sommets d'un calque vectoriel si nécessaire. Je pense que vous aurez probablement besoin de convertir votre DXF en un fichier de formes pour l'utiliser (cliquez avec le bouton droit sur le calque dans le panneau des calques et cliquez sur "Enregistrer sous ..."). L'application d'une rotation à une couche vectorielle est légèrement plus difficile.

nhopton
la source
1
Voici quelques conseils pour effectuer une rotation avec qgsAffine: gis.stackexchange.com/q/21696/1872
Mike T
Hum oui, j'ai apporté une contribution à ce sujet qui ne semblait pas trouver beaucoup de faveur. Mais dans l'ensemble, je préfère toujours l'approche OpenJump, elle calcule les sept paramètres de transformation et les applique ensuite au vecteur d'intérêt. Je pense avoir vu une proposition QGIS GSoC pour faire la même chose dans QGIS, ce qui serait utile.
nhopton le
Ouais, je vois ce que les gens d'OpenJump utilisent et c'est beaucoup plus lisse!
Mike T
9

Une autre option - plus interactive - est le plugin Vector Bender . Il

fait aux vecteurs ce que les géoréférenceurs font au raster. Cette caractéristique est également connue sous le nom de "feuille de caoutchouc".

Il y a même une vidéo montrant comment cela fonctionne: https://vimeo.com/96142479

obscur
la source
3

Je crois que cela peut être accompli dans QGIS.
Cependant, j'utilise un logiciel de CAO avec mon logiciel SIG et ferais ce qui suit.
Dans tous les cas, vous avez besoin d'informations de base sur le dxf.
1. Vous devez connaître les unités du dxf.
2. Vous devriez avoir un ensemble de points connus dans le dxf. (au moins 2 points).

1a. Si le système de coordonnées d'origine (ou non-système) est identifiable, vous devez le transformer en un système connu similaire.
(si le dessin vient d'être dessiné dans aucun système mais un système de base 0,0 suppose un certain type de zone égale.) soit alambert soit albers (en fonction de la zone de couverture [taille])
2a. assurez-vous que tous les éléments du dessin sont affichés (aucun calque désactivé).
3a. sélectionnez toutes les fonctionnalités.
4a. déplacer toutes les entités d'un point connu vers un point connu.
5a. après avoir déterminé l'échelle d'origine redimensionner empiriquement tous les objets sélectionnés
6a. faire pivoter empiriquement tous les objets sélectionnés.
Enregistrez et / ou exportez les objets sélectionnés avec un CRS connu.

Brad Nesom
la source
2

Cela peut également être fait en utilisant GDAL 1.10. L'approche utilise des points de contrôle et est moins une question de mise à l'échelle, mais complète de géoréférencement (pratique si le dxf a perdu toutes ses informations spatiales).

Cela se fait en effectuant une transformation de base dans ogr2ogr et en fournissant les points de contrôle dans la balise -gcp. http://www.gdal.org/ogr2ogr.html

Pour un guide, veuillez consulter: Géoréférencement de données vectorielles à l'aide de QGIS

HeikkiVesanto
la source
2

J'ai utilisé OpenJump une fois, car je ne pouvais pas faire les calculs pour le plugin QGIS. Cependant, j'ai finalement trouvé plus facile d'enregistrer ma couche SHP avec une projection connue en tant que DXF, d'ouvrir celle-ci dans QCAD (gratuit), d'importer le DXF qui devait être affiné et de faire toutes les mises à l'échelle, la rotation et le déplacement du DXF là-bas. Lorsque tout était en place, je l'ai ensuite enregistré en tant que DXF et réimporté dans QGIS où la projection a été conservée et mon DXF était désormais également affiné à la position et à l'échelle appropriées. Je pourrais alors enregistrer le DXF en tant que SHP.

Mélisse
la source
2

Le plugin AnotherDXF2Shape contient un module de géoréférencement: entrez la description de l'image ici

Paramètre entrez la description de l'image ici

Grâce au décalage X et Y, un simple déplacement du DXF peut être réalisé. C'est yB utile lorsque les coordonnées d'origine ont été raccourcies dans le CAD / système.

Fichiers mondiaux pour les jeux de données CAO

Un fichier universel (.wld) est un fichier texte contenant des points de contrôle qui décrivent une transformation de coordonnées. Un fichier monde peut être utilisé pour étendre les propriétés d'un dessin CAO afin d'inclure des informations de géoréférencement. Les informations sont stockées sous forme de valeurs de coordonnées qui définissent un ou deux vecteurs de déplacement appelés liens. Les données comprennent deux ou quatre paires de coordonnées organisées en deux rangées. Chaque ligne définit un lien de déplacement en utilisant la syntaxe suivante:. La première paire de coordonnées de chaque ligne correspond aux coordonnées source, également appelées coordonnées d'origine. Ces valeurs représentent l'emplacement x, y de tout point de contrôle connu dans le dessin CAO. La deuxième paire de coordonnées dans chaque ligne correspond aux coordonnées de destination, également appelées coordonnées to. Ces valeurs représentent un nouvel emplacement dans l'espace géographique, généralement un point de référence dans une autre couche d'entités. Source: arcgis.com

Si la transformation de coordonnées est activée et que le plug-in trouve un fichier WLD correspondant, il est automatiquement intégré et le fichier DXF est transformé en conséquence. entrez la description de l'image ici

Transformation sur 1 à 4 points identiques

Comme pour l'ensemble de données CAO, une transformation a lieu via des points identiques. Le nombre de paramètres pour la transformation dépend du nombre de points donnés. Remarque: Une sortie des résidus pour surdétermination ne l'est pas actuellement.

Mike
la source
1

Le moyen le plus rapide, je pense, est de modifier votre fichier DXF (échelle et place en coordonnées correctes) à l'aide d'un logiciel de CAO, puis de le charger dans QGIS.

Vous pouvez bien sûr déplacer vos fonctionnalités dans QGIS, mais vous ne pouvez pas les mettre à l'échelle. J'espère que cela t'aides.

bradypus
la source