Moustikitos / tyf

Manipulate EXIF and IFD metadata.
19 stars 8 forks source link

Restricted Geokey ? #5

Closed domlysz closed 8 years ago

domlysz commented 8 years ago

Salut,

J'ai une erreur avec un geotiff :

/Tyf/gkd.py", line 105, in __init__
ValueError: "GeogGeodeticDatumGeoKey" value must be one of [6016, ... 6001], get 6171 instead

D'après la doc les valeurs entre 6000 et 6199 sont valides, le dictionnaire qu'ils présentent n'est donc pas exhaustif.

Possible de lever cette restriction ?

Moustikitos commented 8 years ago

Salut,

Pour lever la restriction, il suffit d'ajouter la valeur au dictionnaire adéquat dans le module values.

La clé 6171 n'existe pas dans la liste de valeur possible (qui est une extraction de la base de donnée EPSG)

domlysz commented 8 years ago

Il est possible de consulter la base EPSG sur le site https://www.epsg-registry.org/

On constate que le code 6171 est correct :

selection_003

Ce n'est pas un code exotique car c'est le datum sur lequel s'appuient toutes les projections françaises officielles.

Par ailleurs on peut également lister sur ce site la totalité des Geodedic Datum de la base: on obtient 472 résultats contre 156 actuellement dans le dictionnaire.

selection_004

Le problème s'étend à d'autres dictionnaires avec par exemple :

Dans ces 2 cas il manque notament les valeurs pour les projections françaises (Geo CRS 4171 et Projected CRS 2154).

Moustikitos commented 8 years ago

Salut,

bel argumentaire.

J'ai impacté les nom connu dans la dernières documentation geotiff.

A ton niveau, il suffit de rajouter les valeurs dont tu as besoin dans les dictionnaires du module "values" pour déverrouiller la situation. Cette idée d'implémentation est là pour permettre de rendre le package évolutif.

domlysz commented 8 years ago

ok, comme j'utilise Tyf pour un outil dont les utilisateurs peuvent être de n'importe quelle nationnalité, je vais devoir faire un dump de toute la base epsg afin de completer les dictionnaires et de pouvoir exploiter les geokeys.

Néanmoins, j'ai le sentinent qu'il pourrait être utile de pouvoir initialiser la classe Gkd() sans lever d'erreur quand une valeur n'a pas de correspondance dans son dictionnaire.

Bref je vais étudier tout ça, merci de ton aide!

Moustikitos commented 8 years ago

Je vois pour un Gkd() avec une option "permissive"... Tyf est en open source aussi pour que d'autres utilisateurs puissent le faire évoluer.

merci d'utiliser Tyf (que je trouve génial :o)

Le mar. 19 juil. 2016 à 20:59, domlysz notifications@github.com a écrit :

ok, comme j'utilise Tyf pour un outil dont les utilisateurs peuvent être de n'importe quelle nationnalité, je vais devoir faire un dump de toute la base epsg afin de completer les dictionnaires et de pouvoir exploiter les geokeys.

Néanmoins, j'ai le sentinent qu'il pourrait être utile de pouvoir initialiser la classe Gkd() sans lever d'erreur quand une valeur n'a pas de correspondance dans son dictionnaire.

Bref je vais étudier tout ça, merci de ton aide!

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/Moustikitos/tyf/issues/5#issuecomment-233732005, or mute the thread https://github.com/notifications/unsubscribe-auth/AOj8ccQ4xo-ghRAOHk3Ly3spozduMZ02ks5qXR56gaJpZM4JPKQb .

Moustikitos commented 8 years ago

domlysz,

je viens de faire une modification. Il te suffit de modifier une variable de la class GkdTag quand tu veux ajouter une valeur non répertoriée :

from Tyf import gkd gkd.GkdTag.strict = False ...

Voilà, la modification arrive sous peu. tiens moi au courant

domlysz commented 8 years ago

Merci beaucoup pour la modif ça fonctionne parfaitement !

J'ai commencé à travailler sur la base EPSG mais je n'ai pas le temps de terminer dans l'immédiat, je proposerai une pull request quand ce sera bon.