【问题标题】:Converting x,y,zone coordinates to Latitude and Longitude将 x,y,zone 坐标转换为纬度和经度
【发布时间】:2016-02-07 12:35:09
【问题描述】:

我想在 c# 中将我的 x,y,zone 坐标转换为经纬度。我该怎么做??? 我在网上找到了一些功能,但它们不能正常工作。请帮助我。 如果我的国家很重要,我住在伊朗。

例如:我给这个 x,y,zone: 271740.00,3250740.00,40

它给了我这个[this site]: long,lat:54.648498425894694,29.36515026502202,0

【问题讨论】:

  • 只是无法正常工作没有提供有关问题的足够信息。你能说得更具体一点吗?
  • 您是否尝试过接受答案中提到的库,而不是盲目地复制不可读、写得不好的代码,然后来这里问为什么它不起作用?
  • 我找不到关于转换的参考功能。你能帮我吗???
  • 你知道你的区域坐标是用什么格式写的吗?
  • 不。我没有任何地理信息,但我们的区域是 38-39-40 只是这三个数字(伊朗)

标签: c# google-maps latitude-longitude bing-maps utm


【解决方案1】:

一个很好的坐标转换器是这个:Proj4 它是用 C 编写的,为了在 C# 中使用它,你可以使用这个包装器:.NET wrapper for Proj4

另一个用 C# 编写的非常好的库是DotSpatial

其他项目是Proj4NetProj.Net,但是我不知道它们的质量,也许它们只是其他项目的复制/粘贴。当然,他们都受到了原始 Proj4 项目的启发。

【讨论】:

    【解决方案2】:

    CoordinateSharp 进行这样的转换。

    例子

     UniversalTransverseMercator utm = new UniversalTransverseMercator("T", 32, 233434, 234234);
     Coordinate c = UniversalTransverseMercator.ConvertUTMtoLatLong(utm);
    

    您的纬度/经度值可以在 Coordinate 对象中找到

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      • 2011-12-05
      • 2020-07-04
      相关资源
      最近更新 更多