2016-09-07 21 views
-1

私はEsri mapsをWPFプロジェクトに実装しようとしていますが、使用する座標の周りに頭を浮かべることはできません。古いシステムではlat/longを使用していましたので、Esriから同じ値を取得する必要があります。Esriは座標変換を行います

マップの現在の位置のMapPointオブジェクトを取得すると、そのX値は300464.16687909653であり、そのY値は524877.02696703083です。私はこれらの値をとり、それらを緯度と経度に変換し、必要に応じてそれを逆に変換する必要があります。私はこの変換に役立つものを見つけるのには苦労しています。私はいくつかの簡単なC#変換方法があると推測しましたが、それらを見つけることはできません。

誰でも手助けできますか?

(ただ、明確にするために、私は、.NET SDKを使用しています)

+0

まず、この座標系がどの座標参照系に属しているかを知る必要があります。Web mercatorである可能性があります。 – HimBromBeere

+0

もう少し「現実の世界」の座標を持っていますか?ドットは左に4文字シフトしなければならないかもしれませんか? https://www.google.de/maps/@52.4877027,30.0464167,5zがベラルーシのどこにあってもX/Yが変更された場合は、イランです。 –

+0

Esriマップの原点は何ですか? –

答えて

1

:ここ

は、C#ソリューションです。 EPSG:3395、EPSG:4326です。

enter image description here

自分でOnline coordinate converterをしようとします。

EPSG:3395

PROJCS["WGS 84/World Mercator", 
    GEOGCS["WGS 84", 
     DATUM["WGS_1984", 
      SPHEROID["WGS 84",6378137,298.257223563, 
       AUTHORITY["EPSG","7030"]], 
      AUTHORITY["EPSG","6326"]], 
     PRIMEM["Greenwich",0, 
      AUTHORITY["EPSG","8901"]], 
     UNIT["degree",0.01745329251994328, 
      AUTHORITY["EPSG","9122"]], 
     AUTHORITY["EPSG","4326"]], 
    UNIT["metre",1, 
     AUTHORITY["EPSG","9001"]], 
    PROJECTION["Mercator_1SP"], 
    PARAMETER["central_meridian",0], 
    PARAMETER["scale_factor",1], 
    PARAMETER["false_easting",0], 
    PARAMETER["false_northing",0], 
    AUTHORITY["EPSG","3395"], 
    AXIS["Easting",EAST], 
    AXIS["Northing",NORTH]] 

EPSG:4326

GEOGCS["WGS 84", 
    DATUM["WGS_1984", 
     SPHEROID["WGS 84",6378137,298.257223563, 
      AUTHORITY["EPSG","7030"]], 
     AUTHORITY["EPSG","6326"]], 
    PRIMEM["Greenwich",0, 
     AUTHORITY["EPSG","8901"]], 
    UNIT["degree",0.01745329251994328, 
     AUTHORITY["EPSG","9122"]], 
    AUTHORITY["EPSG","4326"]] 

次座標参照系(CRS)ドロップダウンボックスに、あなたはCRSのパラメータをクリックして表示することができます

これについて詳しくは、次のリンクをご覧ください。 DotSpatialは、.NET 4向けに作成された地理情報システムライブラリです。開発者は、アプリケーションに空間データ、分析、マッピング機能を組み込んだり、GIS拡張機能をコミュニティに提供することができます(第2リンク参照)。

  1. How to perform transformations using ProjNet?

  2. How to transform Lambert coordinates in C#?

0

私はあなたの座標に距離から変換する必要があると思います。 変換を行うには参照座標が必要です。

提供されたXとYは、経度と緯度の距離をメートルで指定する必要があります。

必要な場合があります。 https://math.stackexchange.com/questions/29157/how-do-i-convert-the-distance-between-two-lat-long-points-into-feet-meters

XとYが何であるか把握する必要があります。 彼らは-90°、0°を指すシステムであるWGS84南極極座標(EPSG:3031)にいると思われます。

更新:このコメントによれば、それは明らかにメルカトル投射であり、ページ上にはGoogleの結果へのリンクさえあります。座標はWGS84(世界メルカトル)とWGS84(GPS)です - @HimBromBeereが述べたように、私はそれを持って、あなたの最後のコメントで http://wiki.openstreetmap.org/wiki/Mercator#C.23

+0

"経度の距離(メートル)"とは何ですか?それは私には意味がありません。実際の基準系に応じて、楕円体(例えば、WGS84)または長方形単位(例えば、平面図上に定義されたメートル)上に定義されるような角である。さらに、xは経度に対応し、yは緯度に対応する。 – HimBromBeere

+0

ありがとう、それはtypoです、 "longiとlati"でなければなりません。 –

0

あなたが直接ESRI地図からX、Yを取得する場合、私はあなたがまだ再投影を行うしていないと仮定します。したがって、座標はESRI Web MercatorのEPSG:102100でなければなりません。

経度と緯度を取得するには、WGS84(EPSG:4326)を使用する必要がありますので、proj4Netなどのこの作業に使用できる多くの.Netライブラリがあります。また、ESRI Javascript APIのように複数のWeb APIがある場合もあります。https://developers.arcgis.com/javascript/3/jssamples/util_project.html

関連する問題