【问题标题】:Convert coordinate UTM to DMS将坐标 UTM 转换为 DMS
【发布时间】:2023-04-03 10:15:01
【问题描述】:

我需要将 UTM 转换为 DMS。例如:x 6518585.31 y 13343143.32 -> 度分秒。

人们参考了这个库 esri.arcgis.defensesolutions.dll,但我找不到在哪里下载。

【问题讨论】:

标签: c# arcgis esri


【解决方案1】:

试试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;

您提到的防御解决方案 DLL 是较旧的技术,您需要 ArcGIS Desktop 或 Engine 许可才能使用它,这会产生成本。请改用 ArcGIS Runtime。

【讨论】:

  • 我加入了 Esri.ArcGISRuntime 项目。错误:找不到类型或命名空间名称“Esri”(您是否缺少 using 指令或程序集引用?)
  • 项目使用库ESRI.ArcGis.*** 10.0.0.0版
【解决方案2】:

坐标系“米”到“度分秒”

            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 返回不正确的坐标

【讨论】:

    【解决方案3】:

    您完全可以使用CoordinateSharp

    例子

     UniversalTransverseMercator utm = new UniversalTransverseMercator("T", 32, 233434, 234234);
     Coordinate c = UniversalTransverseMercator.ConvertUTMtoLatLong(utm);
     Console.WriteLine(c); //Outputs DMS formatted coordinate by default.
    

    您还可以访问 Coordinate 对象中的各个纬度/经度属性。

    【讨论】:

      猜你喜欢
      • 2021-06-04
      • 2019-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 2011-02-10
      • 2021-11-27
      • 2021-07-18
      相关资源
      最近更新 更多