#1 Wed 16 December 2009 10:00
[OGR] affecter un système de projection
Bonjour
Un message quant à un problème d'affectation de système de projection au niveau d'un fichier...
J'ai reprojeté un fichier manuellement comme suit:
Code:
ogr2ogr -f "MapInfo File" -s_srs "EPSG:2154" -t_srs "EPSG:27572" D:\tests\BDCARTO\PROJECTIONS-AUTRES\couche_27572.TAB D:\tests\BDCARTO\couche_2154.TAB
Quand je lis les infos de la couche:
Code:
ogrinfo -al D:\tests\BDCARTO\PROJECTIONS-AUTRES\couche_27572.TAB
j'obtiens pour la ligne de projection:
Code:
Layer SRS WKT: LOCAL_CS["Nonearth", UNIT["Meter",1.0]]
Le système de projection indiqué n'est pas le lambert2 étendu (27572 bien que ma couche ait bien été reprojetée
J'ai donc décidé d'affecter manuellement le code EPSG à la couche ainsi obtenue de cette façon:
Code:
ogr2ogr -f "MapInfo File" -a_srs "EPSG:27572" D:\tests\BDCARTO\PROJECTIONS-AUTRES\couche_27572.TAB
Mais rien ne change quant au résultat de la commande ogrinfo sur le système de projection utilisé...
Dernière modification par baobazz (Wed 16 December 2009 10:01)
geodata au cerema et petits billets en géomatique
Hors ligne
#2 Wed 16 December 2009 14:21
Re: [OGR] affecter un système de projection
Je dirais qu'il faudrait plutôt employer l'option -s_srs srs_def : écrase la source SRS.
http://georezo.net/wiki/main:logiciels: … gr_ogr2ogr
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#3 Wed 16 December 2009 15:41
Re: [OGR] affecter un système de projection
Bonjour,
J'ai appliqué les commandes suivantes:
Code:
ogr2ogr -f "MapInfo File" -s_srs "EPSG:27572" couche_27572.TAB couche.TAB
puis la commande ogrinfo me donne toujours un SRS non terrestre:
Code:
ogrinfo couche_27572.TAB -al Had to open data source read-only. INFO: Open of `couche_27572.TAB' using driver `MapInfo File' successful. Layer name: couche_27572 Geometry: Unknown (any) Feature Count: 0 Extent: (-30000000.000000, -15000000.000000) - (30000000.000000, 15000000.000000 ) Layer SRS WKT: LOCAL_CS["Nonearth", UNIT["Meter",1.0]] ID_BDCARTO: Integer (0.0) Nom_commune: String (45.0) INSEE_Commune: String (5.0) STATUT: String (19.0) ABSCISSE_COMMUNE: Real (0.0) ORDONNEE_COMMUNE: Real (0.0) SUPERFICIE: Real (0.0) POPULATION: Integer (0.0)
-s_srs, ce n'est pas plutôt pour les reprojections?
geodata au cerema et petits billets en géomatique
Hors ligne
#4 Wed 16 December 2009 15:50
Re: [OGR] affecter un système de projection
C'est t_srs les reprojections.
Si tu regardes les dates des fichiers, est-ce que tu peux remarquer que ogr2ogr écrit bien les infos demandées ? À voir si ogr2ogr ne peut que écrire un nouveau jeu de données, et non le mettre à jour, et donc essayer de mettre un jeu de données de destination, quitte à renommer ensuite quelques fichiers.
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#5 Wed 16 December 2009 15:59
Re: [OGR] affecter un système de projection
Les dates des fichiers sont celles auxquelles le fichier a été créé.
De quelle information parles-tu exactement? Si c'est celles qui sont spécifiées, à savoir le SRS, le SRS lu est le non-terrestre d'après la commande ogrinfo.
Penserais-tu au mode overwrite ou append?
Dernière modification par baobazz (Wed 16 December 2009 16:01)
geodata au cerema et petits billets en géomatique
Hors ligne
#6 Wed 16 December 2009 16:09
Re: [OGR] affecter un système de projection
Je parlais des infos de porjections que tu demandes à être écrites.
Ce que je disais c'est si tu fais
Code:
ogr2ogr -f "MapInfo File" -s_srs "EPSG:27572" couche_27572.TAB couche.TAB
C'est
Code:
ogrinfo couche.TAB -al
qui t'intéresse !
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#7 Wed 16 December 2009 16:19
Re: [OGR] affecter un système de projection
Le problème est justement que je souhaite assigner le SRS 27572 à couche.TAB car au départ, ogrinfo -al couche.TAB me donne un SRS non-terrestre alors que couche.TAB est reprojetée en 27572
C'est pourquoi j'utilise la commande
Code:
ogr2ogr -f "MapInfo File" -s_srs "EPSG:27572" couche_27572.TAB couche.TAB
qui comme tu me l'as dit, devrait permettre d'assigner le SRS 27572
La couche générée devrait être couche_27572.TAB
geodata au cerema et petits billets en géomatique
Hors ligne
#8 Wed 16 December 2009 16:32
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 169
Re: [OGR] affecter un système de projection
La commande 'ogr2ogr -f "MapInfo File" -s_srs "EPSG:2154" -t_srs "EPSG:27572" D:\tests\BDCARTO\PROJECTIONS-AUTRES\couche_27572.TAB D:\tests\BDCARTO\couche_2154.TAB' est tout à fait correcte. Le fichier destination est bien le 1er fichier dans la ligne (c'est une des bizarreries célèbres de ogr2ogr)
Un coup d'oeil rapide au code chargé de gérer les systèmes de coordonnées dans le driver MapInfo (http://trac.osgeo.org/gdal/browser/trun … ordsys.cpp) me laisse penser que la projection Lambert Conformal Conic utilisée par EPSG:27572 n'est pas prise en charge - en écriture au moins - par le driver (par contre Lambert Conformal Conic 2SP semble prise en compte).
Limitation intrinsèque du format ou driver perfectible ? Je ne saurais dire. Il peut être pertinent toutefois d'ouvrir un ticket GDAL dans Trac : http://trac.osgeo.org/gdal/newticket
Dernière modification par rouault (Wed 16 December 2009 16:34)
Hors ligne
#9 Wed 16 December 2009 16:39
Re: [OGR] affecter un système de projection
Youps,
J'ai toujours un peu de mal avec les format destination puis source...
En regardant un peu plus, tu as la commande -update qui permet de mettre à jour sans créer de nouveaux fichiers, mais si ça marche pas comme ça, ce n'est pas le problème...
Est-ce que tu as testé sur d'autres fichiers ? ogr2ogr fonctionne bien par ailleurs, si tu veux assigner un autre SRS sur des fichiers qui ont un système différent du non-terrestre de MapInfo par exemple ?
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#10 Wed 16 December 2009 17:06
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 169
Re: [OGR] affecter un système de projection
Essayer avec un autre SRS connu pour marcher peut être une solution. C'est ce que j'ai fait d'ailleurs en utilisant le célèbre EPSG:4326 et ça fonctionnait bien, alors qu'avec EPSG:27572 non, ce qui, en plus de matter le code source, me fait dire que la projection Lambert Conformal Conic n'est pas gérée actuellement.
J'ajouterais qu'il est inutile d'essayer -update pour agir sur le SRS, car le SRS d'un layer OGR ne peut être affecté qu'à sa création. -update ne permet que d'ouvrir en mode mis à jour, pour suivant les capacités du driver, mettre à jour des "features" existant, en ajouter ou en supprimer.
Hors ligne
#11 Thu 17 December 2009 15:26
Re: [OGR] affecter un système de projection
J'ai converti une couche Lambert 2 Etendu (27572) en RGF93 (2154).
Ogrinfo m'indique que ma couche RGF93 est en WGS84 alors qu'elle est bien reprojetée en RGF93.
Code:
ogr2ogr -s_srs EPSG:27572 -t_srs EPSG:2154 couche_2154.TAB couche_27572.TAB -f "MapInfo File"
Pour ce qui est des srs connux, 27572 et 2154 sont des standards à présent. Ce serait étonnant qu'OGR ne parvienne pas à inscrire correctement les données (ou plutôt méta-données) relatives à ces srs.
Je dois mal m'y prendre qq part...
geodata au cerema et petits billets en géomatique
Hors ligne
#12 Thu 17 December 2009 15:32
Re: [OGR] affecter un système de projection
baobazz,
Tu peux faire confiance à rouault à mon avis
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#13 Thu 17 December 2009 15:37
Re: [OGR] affecter un système de projection
Rouault est assez impliqué dans le projet ogr (cf http://trac.osgeo.org/gdal/wiki/GovernanceAndCommunity), je ferais assez confiance à ses tests, même si c'est surprenant
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#14 Thu 17 December 2009 15:38
Re: [OGR] affecter un système de projection
mea culpa, rouault, j'avais mal lu ton post
je n'avais pas remarqué le moment où tu disais que 27572 n'était ptet pas pris en charge pour l'opération que je souhaitais faire
est-ce que ça vaut le coup d'ouvrir un ticket pour signaler ce problème?
Dernière modification par baobazz (Thu 17 December 2009 15:40)
geodata au cerema et petits billets en géomatique
Hors ligne
#15 Thu 17 December 2009 15:54
Re: [OGR] affecter un système de projection
Bonjour,
est-ce que ça vaut le coup d'ouvrir un ticket pour signaler ce problème?
Et comment C'est certainement le meilleur moyen de voir un logiciel que l'on utilise fonctionner comme on le souhaite
Y.
PS : la question était pour Rouault mais je me suis permis d'y répondre (la coupure Internet a été trop longue ).
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#17 Thu 17 December 2009 16:54
Re: [OGR] affecter un système de projection
Bonjour,
Envoie moi le ticket (description, version de GDAL, titre) par mail ou poste le ici je créerai le ticket pour toi
[edit] en suivant les liens tu arrives à ce formulaire pour te créer un osgeo-user_id : www.osgeo.org/cgi-bin/ldap_create_user.py
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#18 Thu 17 December 2009 17:31
Re: [OGR] affecter un système de projection
OK je vais te donner ça mais avant, je vais dire comment j'ai résolu mon souci. Vous connaissez sûrement la manip' mais ça peut aider d'autres personnes.
Pour les couches reprojetées en RGF93 et pour lesquelles ogrinfo indiquait un srs WGS84 (alors qu'elles étaient bien en RGF93), j'ai effectué la manip' suivante:
Copie du contenu du WKT de RGF93 dans un fichier txt appelé RGF93
Le WKT est le suivant:
Code:
PROJCS["unnamed", GEOGCS["unnamed", DATUM["GRS_80", SPHEROID["GRS 80",6378137,298.257222101], TOWGS84[0,0,0,0,0,0,0]], PRIMEM["Greenwich",0], UNIT["degree",0.0174532925199433]], PROJECTION["Lambert_Conformal_Conic_2SP"], PARAMETER["standard_parallel_1",44], PARAMETER["standard_parallel_2",49], PARAMETER["latitude_of_origin",46.5], PARAMETER["central_meridian",3], PARAMETER["false_easting",700000], PARAMETER["false_northing",6600000], UNIT["Meter",1.0]]
Puis lancement de la commande:
Code:
ogr2ogr -a_srs "RGF93.txt" macouche_2154_2.TAB macouche_2154.TAB -f "MapInfo File"
Cette fois, le
Code:
ogrinfo -al -where fid=1 macouche_2154_2.TAB
(cela permet de restreindre la fenêtre d'affichage) me donne bien le RGF93
Dernière modification par baobazz (Thu 17 December 2009 17:32)
geodata au cerema et petits billets en géomatique
Hors ligne
#19 Thu 17 December 2009 17:35
Re: [OGR] affecter un système de projection
mais en fait, il y a plus simple.
Il suffit de passer par la commande:
Code:
ogr2ogr -s_srs EPSG:27572 -t_srs "RGF93.txt" macouche_2154.TAB macouche.TAB -f "MapInfo File"
Mais en indiquant l'EPSG dans -t_srs, ça ne marche pas...
Pourriez-vous me dire à quoi correspond une définition de projection écrite de cette façon:
+proj=utm +zone=37 +south +a=6378249.145 +b=6356514.96582849 +units=m +towgs84=-175,-23,-303
Merci!
Dernière modification par baobazz (Thu 17 December 2009 17:36)
geodata au cerema et petits billets en géomatique
Hors ligne
#20 Thu 17 December 2009 18:02
Re: [OGR] affecter un système de projection
Pourriez-vous me dire à quoi correspond une définition de projection écrite de cette façon:
+proj=utm +zone=37 +south +a=6378249.145 +b=6356514.96582849 +units=m +towgs84=-175,-23,-303
C'est décrit les différnetes documentations de la syntax de proj
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#21 Thu 17 December 2009 18:29
Re: [OGR] affecter un système de projection
ok merci pour la réponse!
Pourriez-vous également me dire à quoi correspond ce type de notation:
Code:
"+init=EPSG:21037 +wgs84=-175,-23,-303"
geodata au cerema et petits billets en géomatique
Hors ligne
#23 Thu 17 December 2009 22:30
Re: [OGR] affecter un système de projection
Voilà le rapport de bug : http://trac.osgeo.org/gdal/ticket/3292
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#24 Thu 17 December 2009 22:41
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 169
Re: [OGR] affecter un système de projection
"Pour ce qui est des srs connux, 27572 et 2154 sont des standards à présent"
Hum, comment dire ? ... standard ... pour les utilisateurs français ... D'une manière générale, la gestion des SRS est quelque chose qui n'est pas parfait et qui ne le sera probablement jamais. C'est un des aspects les plus cauchemardesques à gérer pour un logiciel comme GDAL/OGR : multitudes de systèmes de projection, multitudes de datum, multitudes de géoides... sans parler des variantes orthographiques qui se retrouvent dans la nature pour des SRS, datum ou géoides identiques (il suffit de penser que rien que pour le WKT il y a le OGC WKT, le ESRI WKT, le ORACLE WKT... les curieux liront http://home.gdal.org/projects/opengis/wktproblems.html pour apprécier la difficulté de l'exercice). Qui plus est, tout cela est géré de façon différente pour chaque format (format propriétaire pour MapInfo, , donc il ne faut pas être surpris que tel SRS marche et pas tel autre, et avec tel format mais pas avec tel autre.
Le signaler par un ticket est une bonne façon que ça soit au moins connu et répertorié, et dans les jours fastes corrigé (je ne veux pas donner trop d'espoir. La probabilité est toutefois nettement augmentée quand un patch correctif est attaché au ticket ;-) ).
Concernant le fait de devoir passer par un rgf93.txt, l'explication est la suivante. Visiblement, l'encodage d'un datum au format interne MapInfo se fait en identifiant la chaine du datum et en la remplaçant par l'entier correspondant dans une table de référence. Elle se trouve ici : http://trac.osgeo.org/gdal/browser/trun … ialref.cpp . La chaine "GRS_80" se trouve bien à la ligne 242, donc c'est OK. Par contre, l'expansion de EPSG:2154 donne "Reseau_Geodesique_Francais_1993" comme nom de datum, qui n'existe pas dans la table, et dans ce cas à défaut de correspondance exacte, le code se rabat sur WGS84. Reste à savoir si la table est incomplète ou si Mapinfo ne prévoit tout simplement pas ce datum !
Des questions spécifiques sur les problématiques liées au format MapInfo peuvent être également adressées directement à la mailing list MITAB (qui est la librairie intégrée à OGR pour gérer le format MapInfo) : http://tech.groups.yahoo.com/group/mitab/
(Au fait, mon prénom, c'est Even)
Dernière modification par rouault (Thu 17 December 2009 22:41)
Hors ligne
#26 Fri 18 December 2009 00:06
Re: [OGR] affecter un système de projection
Chouette, M. Rouault nous fait connaitre son prénom !
Par contre, l'expansion de EPSG:2154 donne "Reseau_Geodesique_Francais_1993" comme nom de datum, qui n'existe pas dans la table, et dans ce cas à défaut de correspondance exacte, le code se rabat sur WGS84. Reste à savoir si la table est incomplète ou si Mapinfo ne prévoit tout simplement pas ce datum !
Even,
MapInfo connait bien les standards français en matière de SRS.
J'ai quand même l'impression que le problème est avant tout de savoir les choix qu'à fait MITAB/OGR/GDAL/PROJ/... comme par exemple se rabattre sur WGS84. À propos du passage entre 27572 et 2154, une des informations la plus importante est de savoir que la méthode towgs84 indiqué a bien été appliqué (utilisation de la "nadgrid" de l'IGN) ou si elle n'a pas été trouvée si ce sont les paramètres standard.
GDAL n'est pas assez bavard, et lorsqu'il y a des soucis, on ne s'en aperçoit qu'après des opérations de vérifications supplémentaires
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne