书写纬度和经度元组的首选顺序

处理GIS源代码时,经常需要编写纬度和经度坐标元组。

例如在Google地图链接(123,456)中:

http://maps.google.com/maps/ms?msid=214518704716144912556.00046d7689a99e95b721c&msa=0&ll=123,456&spn=0.007996,0.026865

哪个是首选的顺序(以及为什么?)

  • 纬度,经度

  • 经度和纬度

我已经看到两者都在各种系统中使用,我希望find一些证据坚持与另一个。

EPSG:4326具体说明坐标的顺序应该是纬度,经度。 许多软件包仍然使用经度,纬度sorting。 这种情况在项目期限和程序员的理智上造成了难以想象的浩劫。

可以提供的最佳指导是充分了解软件堆栈中每个组件的预期轴顺序。 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

优先顺序是按照惯例的latitude, longitude 。 据推测,这是国际海事组织根据这里所报道的标准。 Google在地图和地球中也使用这个顺序。 我通过考虑latitude, longitude的字母顺序来记住这个顺序。

在几乎所有的专业GIS应用中,正确的顺序是经度,纬度,正如常规math(即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). 

主要的开放地理空间联盟标准(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). 

好的经验法则:如果你知道什么是元组并且正在编程,你应该使用lonlat 。 我甚至会说,如果你的最终用户(比如说飞行员或者船长)更喜欢以latlat来查看输出的话,这就适用了。 如有必要,您可以在用户界面中切换顺序,但绝大多数数据(shapefile,geojson等)将采用正常的笛卡尔顺序。

根据“现实生活”中的惯例,当给定位置时,纬度(即北/南)总是被给予第一,例如20°N 56°W(尽pipe如果考虑标准的笛卡尔格); 类似地,维基百科上的所有坐标都遵循这个约定(例如参见Southampton的位置: http : //en.wikipedia.org/wiki/Southampton )。 为了避免混淆,特别是当单元没有被包含的时候,我总是build议在一个元组中给第一个纬度。

就我个人而言,我从来没有看到任何东西,但纬度经度。

而且,当使用+和 – 而不是N和S时,总是+ N是N, – 是S.

我在E和W中使用+和 – 时观察到了变化。一般情况下,+ E和W一直是W.然而,在老式的应用程序中,他们用W的经度来处理,我已经看到了+ W和 – E 。

希望你不必处理那些旧的应用程序。

除了其他人已经提到的GeoJSON规范外,还有其他一些实际情况,推荐使用经度,纬度顺序,甚至是强制性的 – 例如: MongoDB中的地理空间索引 。 如果您的订单错误,那么您的查询将返回错误的结果,就像再次执行转置数据集一样。

所以首选的顺序取决于个人喜好!

纬度第一; 春分已经为千年而闻名,就像“太阳越过赤道”的日子一样。 三月份从S到N,九月从N到S,唯一的问题可能是赤道应该是0度还是90度。 通过取0度,垂直线和分界线上的中午太阳天顶angular之间的angular度就是地球上任何一个地方的纬度。 黄金纬度,或素数平行有效地定义自己。

经度只能通过协议。 英国拿出了一个经度奖。 英国需要它的船只知道他们在哪里,需要更好的地图。 哈里森( http://www.youtube.com/watch?v=T-g27KS0yiY )制作了精确的海洋精密时计; 他们派出了地图制作旅程,例如James Cook 1770's。 因此,英国以“格林尼治标准”为主要标志,宣布了主子午线。 在经过100年的使用之后,primefaces午线于1884年在国际上被接受。

在克里斯托弗·哥伦布时代,纬度是他们唯一的数字。 该策略是在左转或右转目的地之前穿过平行线; 看云或鸟。 每小时测量速度是常见的,但没有考虑到电stream。 也许哥伦布最伟大的成就是四次从西印度群岛回家。 没有这一点,他发现的土地不能被添加到地图。

阅读Dava Sobel的“经度”(ISBN:9780007214228)

经度然后纬度(lon,lat)。

当投影到墨卡托经度时定义了x方向,纬度定义了y方向。 大多数几何graphics库严格使用这种(lon,lat)格式,因为它是在2D平面中考虑地理坐标的最直观方式。