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 Thu 28 December 2017 09:14

raphael.arnaud
Participant actif
Lieu: Saintes
Date d'inscription: 9 Aug 2007
Messages: 61

QGIS: Georeferencement de vecteurs

Bonjour,

Comme le titre l'indique, je cherche à géoréférencer un vecteur à l'aide de QGIS.

Je dispose de données DAO non géoréférencées que j'ai ouvert dans QGIS et converties en shape. J'ai déplacé les entités à proximité de la zone où elles devraient se trouver à l'aide d'un fonds cadastre géoréférencé. Si les proportions me semblent correctes, l'échelle et l'orientation sont fausses. J'aimerais donc pouvoir géoréfèrencer ces données comme on peut le faire pour un raster, c'est à dire sans déplacer indépendamment chaque objet mais en appliquant une même transformation à tous les objets (échelle et rotation notamment).

Une bonne image valant toujours mieux qu'un long discours, je vous mets en PJ une impression écran de QGIS :
[IMG=https://imagizer.imageshack.com/v2/xq90/923/cNaC5c.png][/IMG]

Merci d'avance à tous ceux qui pourront me donner une piste.
Raphael

Dernière modification par raphael.arnaud (Thu 28 December 2017 09:20)

Hors ligne

 

#2 Thu 28 December 2017 09:25

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS: Georeferencement de vecteurs

Bonjour,

Il y a ce plugin appelé Vector Bender
https://plugins.qgis.org/plugins/VectorBender/

"Does to vectors what georefencers does to raster. This feature is also known as "rubber sheeting"."


geodata au cerema et petits billets en géomatique

Hors ligne

 

#3 Thu 28 December 2017 10:53

raphael.arnaud
Participant actif
Lieu: Saintes
Date d'inscription: 9 Aug 2007
Messages: 61

Re: QGIS: Georeferencement de vecteurs

Merci Matthieu, c'est exactement ce que je cherchais !
Je teste ça et je vous dis ce que ça donne.

Raphael

Hors ligne

 

#4 Thu 28 December 2017 17:41

Hocine Amine
Participant actif
Lieu: Tunisie
Date d'inscription: 9 Jul 2007
Messages: 55

Re: QGIS: Georeferencement de vecteurs

bonjour,
Vous pouvez rasteriser les shape,
géoréférencez  la raster a l'aide de l'uotil "géoréférencer",

Hors ligne

 

#5 Fri 29 December 2017 08:13

tevrard
Participant assidu
Date d'inscription: 23 May 2016
Messages: 319

Re: QGIS: Georeferencement de vecteurs

On a également le script de l'ami Lud !

http://www.portailsig.org/content/qgis- … -vectoriel

Hors ligne

 

#6 Fri 29 December 2017 09:07

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3169
Site web

Re: QGIS: Georeferencement de vecteurs

Bonjour,

Si vous avez connaissance des trois paramètres (translation, angle de rotation et homothétie) vous pouvez appliquer l'équation AX+V : A matrice de rotation ET homothétie) et V la matrice de translation, ce à l'ensemble des coordonnées de votre couche.
En passant par postgis ou autre.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#7 Fri 29 December 2017 09:43

raphael.arnaud
Participant actif
Lieu: Saintes
Date d'inscription: 9 Aug 2007
Messages: 61

Re: QGIS: Georeferencement de vecteurs

Merci à tous pour vos conseils et vos pistes, j'ai réussit finalement obtenu un trés bon résultat avec Vector Bender !

J'ai utilisé une transformation "uniform" en plaçant deux point et en appliquant la transformations. J'ai recommencé plusieurs fois cette opération pour ajuster les lignes au cadastre : le résultat n'est pas parfait mais tout à fait honorable au vu des données en entrée assez approximatives. Je vais affiner le résultat autant que possible en continuant mes transformations uniform pour coller au plus près du cadastre.

Et comme une image vaux toujours mieux qu'un long discours, voici le résultat obtenu ce matin : [IMG=https://imagizer.imageshack.com/v2/xq90/923/QxMSHa.png][/IMG]

Dernière modification par raphael.arnaud (Fri 29 December 2017 09:47)

Hors ligne

 

#8 Fri 29 December 2017 10:40

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS: Georeferencement de vecteurs

En effet, ton calage est plutôt propre !


geodata au cerema et petits billets en géomatique

Hors ligne

 

#9 Fri 29 December 2017 15:51

Pierre Dolez
Participant assidu
Lieu: Proville
Date d'inscription: 14 Aug 2008
Messages: 518
Site web

Re: QGIS: Georeferencement de vecteurs

Bonjour,
Ce type d'opération est très classique. Les meilleurs résultats sont obtenus avec une transformation affine. On prendra au moins quatre points de calage. Une petite dizaine parait un bon choix. Il me paraitrait surprenant que cette méthode de calage ne soit pas prévue en base dans tous les logiciels de SIG.
Tous les détails sont à votre disposition.
Cordialement.

Hors ligne

 

#10 Thu 26 November 2020 15:19

aheurion
Participant actif
Lieu: NANTES
Date d'inscription: 8 Oct 2020
Messages: 141

Re: QGIS: Georeferencement de vecteurs

Bonjour, je déterre ce sujet car, après recherches, il s'avère que le plugin Vector Bender ne semble pas fonctionner avec QGIS 3 (je suis sous 3.16).
Comment puis-je savoir quels coefficients de transformation je dois utiliser dans une transformation affine ? (cf PJ) Existe-t-il une méthode pour trouver ces coefficients à l'aide des coordonnées de points d'origine et de points de référence ?

Merci d'avance !

Hors ligne

 

#11 Thu 26 November 2020 17:10

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS: Georeferencement de vecteurs

Vous pouvez utiliser OGR2OGR pour géoréférencer une couche vecteur à partir de points de contrôle :
https://gdal.org/programs/ogr2ogr.html# … gr2ogr-gcp

Et si vous préférez faire des maths :
https://stackoverflow.com/a/2756165/8440810
https://www.mathsisfun.com/algebra/matrix-inverse.html

Hors ligne

 

#12 Thu 26 November 2020 17:23

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 995

Re: QGIS: Georeferencement de vecteurs

Bonjour

Vector Bender a pourtant  été mis à jour pour la version 3 de Qgis (2019-01-18 - Version 0.2 : Updated to Qgis 3 (Thanks to Jorge Almerio)). La dernière version en date est de décembre 2020. Qu'est ce qui ne fonctionne pas avec l'extension ?

Hors ligne

 

#13 Thu 26 November 2020 19:05

aheurion
Participant actif
Lieu: NANTES
Date d'inscription: 8 Oct 2020
Messages: 141

Re: QGIS: Georeferencement de vecteurs

Merci pour vos retours rapides !

Pour OGR2OGR il faut passer par une DB c'est ça, faudra que je penche sur la manière de faire ces commandes.
Pour ce qui est des autres liens ça ne donne malheureusement pas le type de coefficients nécessaires pour une transformation affine dans QGIS (translation x, translation y, rotation, mise à l'échelle x et mise à l'échelle y) : [img]https://zupimages.net/up/20/48/oy25.png[/img].
J'ai essayé de faire les maths avec les infos de ce post : https://georezo.net/forum/viewtopic.php?id=45969 mais... ça ne m'avance pas trop plus...

Pour le plugin Vector Blender la dernière version date du 3 décembre 2019 : https://plugins.qgis.org/plugins/VectorBender/ et nécessite la version 2.99 minimum. Après de mon côté ça ne marche pas en 3.16 : tout va bien jusqu'à ce que je clique sur "Run", le plugin calcule les entités mais une fois fini (malgré qu'il m'affiche "finished") il n'y a aucun changement dans ma couche, tous les points (ou toutes les lignes j'ai essayé avec plusieurs types de géométrie) restent sur place

Hors ligne

 

#14 Thu 26 November 2020 21:44

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS: Georeferencement de vecteurs

Pour OGR2OGR il faut passer par une DB c'est ça


Non c'est un utilitaire en ligne de commande indépendant, il faut une couche vecteur en entrée (geopackage, shapefile, postgis....) et quelques point de contrôle dont aurez relevé les coordonnées au préalable

Pour ce qui est des autres liens ça ne donne malheureusement pas le type de coefficients nécessaires pour une transformation affine dans QGIS (translation x, translation y, rotation, mise à l'échelle x et mise à l'échelle y)


dans ce cas il faut ensuite décomposer la matrice de transformation pour obtenir les paramètres de rotation, échelle et translation. Il y a les formules dans la description de ce package Python : https://pypi.org/project/affine6p/

Dernière modification par dominique.lys (Fri 27 November 2020 09:58)

Hors ligne

 

#15 Mon 30 November 2020 09:23

aheurion
Participant actif
Lieu: NANTES
Date d'inscription: 8 Oct 2020
Messages: 141

Re: QGIS: Georeferencement de vecteurs

Bonjour en ce lundi de début de semaine ^^

Alors j'ai testé ogr2ogr, j'ai un peu galéré pour bien écrire les paramètres/options (il fallait mettre entre guillemets chaque coordonnée) mais j'obtiens un résultat. Malheureusement avec 5 points c'est pas hyper bien calé :
-progress -t_srs EPSG:2154 -order 3 -gcp "412455.98" "6853373.27" "412450.46" "6853374.42" -gcp "411234.46" "6852948.76" "411225.24" "6852946.83" -gcp "411707.25" "6854192.44" "411703.37" "6854193.65" -gcp "411657.84" "6854701.09" "411653.94" "6854703.22" -gcp "410709.26" "6854222.4" "410706.43" "6854219.15"

Je devrais indiquer plus de points de contrôle ? Je trouve étonnant que ce soit les points de contrôle même qui ne se placent pas bien (j'ai essayé avec une couche test : en Pj : test2 l'origine, test les points de contrôle, test3 le résultat)

De plus il refuse que j'utilise l'option -order, que j'indique -order 1, -order 2, -order 3, avec ou sans guillemets, il n'y a aucun déplacement. Ce n'est que lorsque je n'indique pas du tout l'option qu'il y a bien un déplacement.

EDIT : J'ai essayé avec 14 points de contrôle, et le calage n'est pas beaucoup mieux qu'avec 5 (toujours entre 1m et 3m de décalage sachant que le décalage initial était de 4m-10m)

Dernière modification par aheurion (Mon 30 November 2020 10:38)


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

Hors ligne

 

#16 Mon 30 November 2020 15:05

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS: Georeferencement de vecteurs

Bonjour,

Pour ma part je n'ai pas besoin de mettre des guillemets et l'option order fonctionne bien. Il faut au moins 6 points pour une transfo d'ordre 2, 10 points pour une transfo d'ordre 3, la commande renvoie bien une erreur le cas échéant. A mon avis il n'est pas nécessaire d'avoir plus de 10 points, l'important est surtout de bien les répartir dans l'espace.

Je trouve étonnant que ce soit les points de contrôle même qui ne se placent pas bien


C'est parfaitement normal, c'est ce qu'on appel l'erreur quadratique moyenne, la transformation ne donne que la meilleure correspondance possible entre les points de contrôle source et de destination. J'imagine que si l'on devait transformer chaque point individuellement alors on aurait des paramètres sensiblement differents pour chacun, et qu'il faut donc calculer un compromis. L'erreur décrit alors l'homogénéité de la transformation entre les différents points. Mais peut-être certains pourront donner une explication plus rigoureuse.

Hors ligne

 

#17 Tue 01 December 2020 18:48

aheurion
Participant actif
Lieu: NANTES
Date d'inscription: 8 Oct 2020
Messages: 141

Re: QGIS: Georeferencement de vecteurs

Avec 14 points (répartis de façon assez homogène) la transformation d'ordre 3 devrait être possible sans problème.
J'ai bien compris sinon que les points de contrôle ne seront pas parfaitement calés mais une transformation qui soit plus qu'une simple translation+rotation ne devrait pas donner autant de décalage, si ? (je me repère avec les parcelles cadastrales notamment pour avoir mes points de contrôle).
Merci pour ton retour en tous cas wink

Dernière modification par aheurion (Tue 12 January 2021 10:35)

Hors ligne

 

Pied de page des forums

Powered by FluxBB