Conversion des coordonnées x, y (EPSG: 102002) en latitude, longitude (EPSG: 4326) [dupliquer]

Nov 29 2020

J'ai des plages de coordonnées x et y dans EPSG: 102002 GRS 80 que je dois convertir en EPSG: 4326 WGS 84. J'ai essayé différentes suggestions ici et ici, mais rien n'a fonctionné jusqu'à présent.

Je me retrouve à convertir manuellement des points de coordonnées x et y en coordonnées lat et lon en ligne, un point à la fois (N = 8200).

Existe-t-il un moyen d'automatiser ce processus où il prend également en compte la projection?

Je suis assez flexible avec le programme en utilisant, tant que ce n'est pas ArcGIS et Java.

Voici un échantillon

x             y            lat       lon
-3145588.03  5018975.86   63.30     177.62
-3115010.95  5010633.39   63.55     177.94
-3084474.59  5002315.52   63.80     178.28

Réponses

6 BERA Nov 29 2020 at 16:44

Vous pouvez utiliser QGIS:

  1. Ajouter un calque de texte délimité
  2. Reprojeter le calque
  3. Ajouter des attributs de géométrie
4 babel Nov 29 2020 at 17:44

Pour inclure des projections variables dans la transformation en lat / lon (EPSG: 4326), vous pouvez utiliser une variable pour l'EPSG actuel de votre source, afin que vous n'ayez pas à vous soucier de l'EPSG dans lequel se trouvent vos données, voir ici: Obtenir lat / long pour les centroïdes à l'aide de QGIS

Vous pouvez l'utiliser directement dans la calculatrice de champ, en adaptant l'expression comme suit, alors que "x" et "y" sont les noms de champ pour vos coordonnées d'origine. Cette expression fonctionne quel que soit le CRS que vous avez pour votre entrée (c'est pour lat; remplacez le y au début par x pour lon):

y (
   transform (
      ( make_point ( "x" , "y" ) ) ,
      @project_crs , 
      'EPSG:4326'
   )
)

Pour importer vos points d'origine, enregistrez les coordonnées dans un simple csv (les coller dans un éditeur de texte ferait l'affaire) et importez-les dans QGIS sous forme de texte délimité, en sélectionnant le CRS:

DrorBogin Nov 29 2020 at 17:02

Comme @BERA l'a suggéré, vous pouvez reprojeter le calque. Vous pouvez également créer un nouveau champ avec la calculatrice de champ en utilisant la to_dms()fonction. Comme suggéré ici