Projet

Général

Profil

Bug #55284

opengis: FutureWarning: '+init=<authority>:<code>' syntax is deprecated.

Ajouté par Nicolas Roche il y a presque 3 ans. Mis à jour il y a presque 3 ans.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
30 juin 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Warning, visible par exemple dans les tests.

lib/python3.9/site-packages/pyproj/crs/crs.py:53: 
FutureWarning: '+init=<authority>:' syntax is deprecated. 
'<authority>:< code>' is the preferred initialization method.

When making the change, be mindful of axis order changes: https://pyproj4.github.io/pyproj/stable/gotchas.html#axis-order-changes-in-proj-6


Fichiers

Historique

#1

Mis à jour par Nicolas Roche il y a presque 3 ans

En fait ça y est, il y a eu inversion des pôles :
https://pyproj4.github.io/pyproj/stable/gotchas.html#why-does-the-epsg-code-return-when-using-epsg-xxxx-and-not-with-init-epsg-xxxx

via l'objet CRS (qui fait l'objet de #55285) on voit :

(Pdb) wgs84_deprecated = CRS(init='EPSG:4326')
(Pdb) wgs84_deprecated
<Geographic 2D CRS: +init=epsg:4326 +type=crs>
Name: WGS 84
Axis Info [ellipsoidal]:
- lon[east]: Longitude (degree)  ## <---
- lat[north]: Latitude (degree)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

(Pdb) wgs84_new = CRS('EPSG:4326')
(Pdb) wgs84_new
<Geographic 2D CRS: EPSG:4326>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)  ## <--- !!
- Lon[east]: Geodetic longitude (degree)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

Je suis bien content d'être tombé sur les tests de non régressions.
Ce patch ne me parait pas trivial du tout (et j'ai peur d'avoir fait n'importe quoi).

#2

Mis à jour par Nicolas Roche il y a presque 3 ans

  • Statut changé de Solution proposée à En cours

cf https://dev.entrouvert.org/issues/33458 "send as is but invert coordinates"
Non, c'est pas simple...
(j'ai l'impression que le jeu de tests inverse les coordonnées)

#3

Mis à jour par Nicolas Roche il y a presque 3 ans

0001:
J'ai ajouté des tests pour couvrir les 4 projections proposées par le connecteur.
Mais pour la géolocalisation inversé, à défaut d'avoir un vrai jeu de donnée, je me hasarde à modifier les coordonnées à la volée, et sur les 2 projections qui n'étaient pas couvertes (EPSG:2154 et EPSG:3857), les tests sur le géocodage inversé retournent une adresse différente.

0002:
Le même patch que ci-dessus.

Pour un autre connecteur (https://dev.entrouvert.org/issues/55230) je vais devoir projeter vers EPSG:4326
et alors peut-être que je pourrais revenir ici avec les idées claires.

---8<---

ex: https://epsg.io/transform

EPSG:4326, lon: 4.784040,   lat: 45.796790 
EPSG:3945, x: 1838692.98,   y: 4290077.11
EPSG:2154, x: 838570.18,    y: 6523472.77
EPSG:3857  x: 532556.90,    y: 5747844.26

  • Géocodage inverse (Code qui ne fait pas intervenir la bbox)
    https://dev.entrouvert.org/issues/21558
    Le jeu de donnée pour les tests sur la géolocalisation inversée n'a pas bougé depuis.
    Les coordonnées x,y du geojson correspondent à lat, lon (inversé).
    Il ne couvre que la projection EPSG::3945.

Formats disponibles : Atom PDF