我需要將UTM轉換爲DMS。例如:x 6518585.31 y 13343143.32 - >度分秒。將座標UTM轉換爲DMS
人們引用此庫esri.arcgis.defensesolutions.dll,但我找不到要下載它的地方。
我需要將UTM轉換爲DMS。例如:x 6518585.31 y 13343143.32 - >度分秒。將座標UTM轉換爲DMS
人們引用此庫esri.arcgis.defensesolutions.dll,但我找不到要下載它的地方。
嘗試ArcGIS Runtime SDK for .NET。您可以免費下載並使用它進行座標轉換。 Sample code可用,但這裏是您需要做的相關代碼。您可以使用http://spatialreference.org/ref/查找UTM區域的WKID;我使用的是32642
,這是基於WGS84的UTM區域42N的WKID。
var utmSpatialReferenceWkid = 32642;//UTM zone 42N based on WGS84
var pointUtm = new MapPoint(6518585.31, 13343143.32, utmSpatialReferenceWkid);
var pointLonLat = GeometryEngine.Project(pointUtm, SpatialReference.Wgs84);
var longitude = pointLonLat.X;
var latitude = pointLonLat.Y;
的defensesolutions DLL你提到的是舊的技術,你需要一個ArcGIS Desktop或Engine許可使用它,它會帶來成本。改爲使用ArcGIS Runtime。
我加入了Esri.ArcGISRuntime項目。 錯誤:無法找到類型或命名空間名稱'Esri'(缺少使用指令或程序集引用嗎?) –
該項目使用庫ESRI.ArcGis。*** 10.0.0.0版 –
座標系 「米」 到 「度分秒」
ISpatialReferenceFactory srEnv = new SpatialReferenceEnvironmentClass();
var wgsIn = srEnv.CreateESRISpatialReferenceFromPRJFile(@"C:\111.prj");
var wgsOut = srEnv.CreateESRISpatialReferenceFromPRJFile(@"C:\222.prj");
var point = new PointClass();
point.PutCoords(3304534.9530999996, 6859385.3066000007);
point.Project(wgsIn);
var dmsCoord = new DMSCoordinate
{
Precision = esriCoordinatePrecision.esriCPOneMeter,
InputSpatialReference = wgsIn,
OutputSpatialReference = wgsOut,
Point = point
};
var dsd = dmsCoord.String;
dmsCoord.String返回不正確的座標
我不得不這樣做是谷歌「[ESRI .arcgis.defensesolutions.dll](https://www.google.com/search?q=esri.arcgis.defensesolutions.dll)」。 –
它? 116 MB。 http://www.esri.com/apps/products/download/index.cfm?fuseaction=download.main&downloadid=672 –
是的,很容易找到。爲什麼沒有找到它? –