在处理GIS源代码时,通常需要编写纬度和经度坐标元组。
例如在Google地图链接中(123, 456):
哪种顺序更受欢迎(以及为什么?)
纬度,经度
经度,纬度
我已经看到两种方法在各种系统中被使用,并希望找到一些证据来坚持其中一种方法。
是否有标准做法,如果有,是什么/它们是什么?
在处理GIS源代码时,通常需要编写纬度和经度坐标元组。
例如在Google地图链接中(123, 456):
哪种顺序更受欢迎(以及为什么?)
纬度,经度
经度,纬度
我已经看到两种方法在各种系统中被使用,并希望找到一些证据来坚持其中一种方法。
是否有标准做法,如果有,是什么/它们是什么?
EPSG:4326明确规定了坐标顺序应该是纬度、经度。许多软件包仍在使用经度、纬度的排序方式。这种情况对项目截止日期和程序员的精神状态造成了难以想象的破坏。
最好的建议是要充分了解您软件堆栈中每个组件的预期轴序。PostGIS使用lng/lat。WFS 1.0使用lng/lat,但WFS 1.3.0遵循标准使用lat/lng。GeoTools默认为lat/lng,但可以通过系统属性进行覆盖。
关于这个问题的历史和说明,GeoTools文档值得一读: http://docs.geotools.org/latest/userguide/library/referencing/order.html
在几乎所有专业的GIS应用程序中,以及传统数学中(即 f(x, y, z)
),正确的顺序是经度、纬度。GeoJSON标准相当典型和简洁:
The order of elements must follow x, y, z order
(easting, northing, altitude for coordinates in a
projected coordinate reference system, or longitude,
latitude, altitude for coordinates in a geographic
coordinate reference system).
同样适用于主要的Open Geospatial Consortium标准(WKT和WKB,以及像EWKB这样的扩展)。类似地,Google可能会输出纬度/经度的顺序,以使那些习惯于此种定制的用户更加熟悉(例如从IMO等导航标准而非计算标准中成长的用户)。但KML标准本身就像几乎所有其他GIS系统一样:
The KML encoding of every kml:Location and coordinate
tuple uses geodetic longitude, geodetic latitude, and
altitude (in that order).
有一个很好的经验法则:如果你知道什么是元组并且正在编程,那么应该使用lon
、lat
。我甚至会说,如果你的最终用户(比如飞行员或船长)更喜欢以lat
、lon
的形式查看输出结果,那么仍然应该使用这种顺序。如果必要的话,可以在用户界面中切换顺序,但是绝大多数数据(如shapefiles、geojson等)都遵循正常的笛卡尔顺序。
在“现实生活”中,给定位置时,纬度(即南/北)总是首先给出,例如20°N 56°W(尽管如果考虑标准的笛卡尔坐标系,这不符合通常惯例);同样,维基百科上所有的坐标都遵循这个惯例(例如查看南安普敦的位置:http://en.wikipedia.org/wiki/Southampton)。为了避免混淆,特别是当单位未包含在内时,我建议在元组中始终首先给出纬度。
因此,首选顺序取决于个人偏好!
纬度首先出现;春分和秋分作为“太阳穿过赤道的日子”已经被人们知晓了数千年。唯一的问题可能是赤道应该是0度还是90度。通过将其设为0度,赤道上午太阳天顶角与垂直线之间的夹角就是一个地点的纬度,在全球各地都适用。主纬度或主平行线实际上定义了自己。
经度只能通过协议确定。英国提出了经度奖。英国需要知道船在哪里,并需要更好的地图。哈里森(http://www.youtube.com/watch?v=T-g27KS0yiY)制造了精确的海洋钟;他们进行了制图航行旅程,例如詹姆斯·库克在1770年代。因此,英国利用格林威治作为000度的基准线,宣称了本初子午线。在使用了100年后,本初子午线被国际公认于1884年。
在克里斯托弗·哥伦布的时代,纬度是他们唯一拥有的数字。策略是在转向目的地之前穿越一个平行线;观察云或鸟类。每小时用节测量速度很常见,但没有考虑到洋流。也许哥伦布最伟大的成就是四次从西印度群岛回家。如果没有这一点,他发现的土地就不能被添加到地图上。就我个人而言,我从未见过除了纬度后面跟着经度之外的其他东西。
当使用 + 和 - 代替 N 和 S 时,+ 总是表示 N,- 则表示 S。
在使用 + 和 - 表示 E 和 W 时,我观察到有所变化。通常情况下,+ 表示 E,- 表示 W。然而,在旧应用程序中,它们主要处理 W 经度时,我看到 + 表示 W,- 表示 E。
希望您不必处理那么老的应用程序。
经度先,纬度后 (lon, lat)。
当投影到墨卡托投影时,经度定义x方向,纬度定义y方向。大多数几何库严格使用(lon, lat)这种格式,因为这是在二维平面中考虑地理坐标最直观的方式。
纬度,经度
。 - onmyway133