【问题标题】:GeoJSON coordinatesGeoJSON 坐标
【发布时间】:2015-07-17 15:15:04
【问题描述】:

我需要帮助才能在 Android 地图上放置标记。我从使用 GeoJSON 的 WebService 接收 JSON 字符串。 可以解析,但是坐标系不是传统的,不知道怎么在地图上标注。

这是我正在使用的示例:

 double latitude = 5441638.1188548915 // this value came from WS
 double longitude = 6352789.023657421 // this value came from WS


      map.addMarker(new MarkerOptions()
            .title(jsonObj.getString("Restaurants"))
            .position(new LatLng(
                    latitude,
                    longitude
             ))
        );

我想知道是否有任何方法可以将坐标转换为经典系统(例如:-30.5645、-50.2328),或者是否有 Android 方法可以与其他坐标系统一起使用。 我希望你能帮帮我, 谢谢!

【问题讨论】:

  • 你能用 proj4j 或 proj4js 之类的东西来转换吗? (比如说从 3857 到 4326)
  • 如果是墨卡托投影,也许这会有所帮助:stackoverflow.com/questions/14329691/…
  • 谢谢! proj4 可用于 Android 吗?,因为我读到那是一个 Javascript 库..谢谢你的链接,“墨卡托投影”是什么意思对不起我不明白
  • 投影系统是将真实世界坐标转换为平面上位置的标准方法 - proj4 是一个用于处理投影系统的库 - 有 c/c++、javascript 和 java 端口,(尽管到目前为止据我所知,java 版本没有最终候选版本。)不过,根据我的经验,它似乎确实可以处理简单的转换,如墨卡托到 WGS84 - 你在示例中的坐标对我来说看起来像墨卡托 - 它们会转化为[lon=57.06807476738193, lat=43.84598019735821] - 在乌兹别克斯坦的某个地方?
  • 您好,感谢您的回复。我发现使用的系统是EPSG 22185,位置是阿根廷罗萨里奥。您认为可以转换此系统吗?

标签: android json coordinates geojson


【解决方案1】:

我已经把这个作为答案,但很遗憾它不是一个完整的答案。

您的位置可能不是纬度/经度,而是东经和北纬。 转换过程为quite complex。实际上,您的 WebService 应该说明它正在使用哪个坐标参考系统 (crs),因为 GeoJSON 默认是 WGS84

您应该看看是否可以让 WebService 提供“正确”的坐标。

【讨论】:

  • 感谢您的回复!我无法更改 Web Service 上的坐标系,所以我必须进行转换。没有本地方法可以使用此坐标系吗?
猜你喜欢
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-28
  • 2021-12-26
  • 2015-04-29
  • 2021-08-22
  • 1970-01-01
相关资源
最近更新 更多