将坐标从十进制度转换为可能的EPSG 4326

时间:2017-02-12 09:45:58

标签: ios objective-c mapkit

我获得了使用API​​的说明,而我很难理解如何将坐标转换为正确的格式。根据API文档,我应该传递点或多边形点数组:

  

执行点查询,查找包含该包的宗地   给定查询点,发出如下请求:   https://reportallusa.com/api/start_parcels_txn.php?client=xxxxx&si_srid=4326&spatial_intersect=[wkt_geometry]   其中[wkt_geometry]是一个url编码的OGC着名文本点或   多边形几何。空间参考系统是WGS-84 lat / lon(EPSG   4326)。

在示例中,我给出的坐标已转换为与十进制度不同的坐标:

  

例如,要在坐标处执行点查询(-9663031.13,   3962292.03)落在美国亚利桑那州伯明翰1400 University Blvd的包裹中,形成一个点串:POINT(-9663031.13,3962292.03)   然后urlencode它并传递为" spatial_intersect"值:   https://reportallusa.com/api/start_parcels_txn.php?client=xxxxx&spatial_intersect=POINT(-9663031.13%203962292.03)   服务器的响应是:   {"状态":" OK"" parcel_count":1," txn_id":"为XXXXX"}

现在我从未见过这种格式的坐标。我查看http://proj4.org/转换工具或任何可能有用的东西,但无济于事。

有没有人知道这些坐标是什么格式,如果是这样,如何在iOS中转换它们?提前谢谢。

1 个答案:

答案 0 :(得分:2)

(免责声明:我不知道这个API,但我确信你应该向他们提出这些问题。不过......)

如果您访问API根here,则会发现以下内容:

  

空间参考系统是Google和Bing使用的球形墨卡托:EPSG 3785/3857/900913。

其实是真的!如果convert示例坐标从EPSG:3857到EPSG:4326,并注意不要反转纬度和经度,您将看到坐标与描述匹配。

在地图上查找结果时,请确保不要混淆经度和纬度。

要转换工具中从iOS获得的WGS84坐标,您应该:

  • 选择EPSG:4326进行输入;
  • 选择EPSG:3857作为输出;
  • 并输入坐标为longitude;latitude(例如:-122.408917;37.782683)。

以编程方式执行此转换,other SO questions will help。将任何这些代码片段移植到Objective-C或Swift应该很容易。