处理GIS源代码时,通常需要编写纬度和经度坐标元组。
例如,在Google Maps链接(123、456)中:
哪个是首选顺序(为什么?)
纬度,经度
经纬度
我已经看到两者都在各种系统中使用,并且希望找到一些证据可以与其他系统结合使用。
是否有标准做法,如果有,这是什么/它们是什么?
latitude, longitude
命令
处理GIS源代码时,通常需要编写纬度和经度坐标元组。
例如,在Google Maps链接(123、456)中:
哪个是首选顺序(为什么?)
纬度,经度
经纬度
我已经看到两者都在各种系统中使用,并且希望找到一些证据可以与其他系统结合使用。
是否有标准做法,如果有,这是什么/它们是什么?
latitude, longitude
命令
Answers:
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
按照惯例,首选顺序是latitude, longitude
。这大概是由标准化国际海事组织
报道在这里。Google还在其“ 地图和地球”中使用此顺序。我通过思考的字母顺序来记住此顺序latitude, longitude
。
在几乎所有专业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).
主要的开放地理空间联盟标准(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
。您可以根据需要在用户界面中切换顺序,但绝大多数数据(shapefile,geojson等)将采用正常的笛卡尔顺序。
按照“现实生活”中的约定,在给定位置时,纬度(即北/南)始终为1,例如20°N 56°W(尽管考虑标准的笛卡尔坐标时这并不遵循常规)格); 同样,Wikipedia上的所有坐标均遵循此约定(例如,查看Southampton的位置:http : //en.wikipedia.org/wiki/Southampton)。为了避免混淆,尤其是在不包含单位的情况下,我始终建议将纬度指定为元组的第1个。
就我个人而言,除了纬度和经度之外,我什么都没见。
并且,当使用+和-而不是N和S时,总是+是N且-是S。
在E和W上使用+和-时,我观察到了变化。通常,+表示E,-表示W。但是,在较旧的应用程序中,它们过度处理W经度,我看到+表示W且-表示E 。
希望您不必处理过时的应用程序。
除了其他人已经提到的GeoJSON规范之外,还有一些实际情况中建议使用经度,纬度顺序,甚至是强制性的-例如:MongoDB中的地理空间索引。如果那里的订单错误,查询将返回错误的结果,就像再次执行转置数据集一样。
因此,首选顺序取决于个人喜好!
纬度排在首位;在“太阳横越赤道”的日子里,春分已经有千年的历史了。3月,从S到N穿过,从N到S穿过。唯一的问题可能是赤道应该为0度还是90度。以0度表示,垂直线与午夜太阳天顶之间的夹角是地球上任何地方的位置纬度。素数纬度或素数平行度有效地定义了自己。
经度只能通过协议达成。英国设立了经度奖。英国需要其船只知道它们的位置,并需要更好的地图。哈里森(http://www.youtube.com/watch?v=T-g27KS0yiY)生产了一款精确的航海天文钟;他们派出了制图之旅,例如詹姆斯·库克(James Cook)1770。因此,英国通过使用格林威治作为地图的000deg来宣称本初子午线。经过100年的使用,本初子午线于1884年被国际接受。
在克里斯托弗·哥伦布时代,纬度是唯一的数字。策略是在向左转或向右转到达目的地之前,先走平行线。看着云还是鸟。每小时以节为单位的速度测量很普遍,但并没有考虑到潮流。哥伦布最大的成就也许是四次从西印度群岛回国。没有这些,他发现的土地就无法添加到地图中。
阅读达瓦·索贝尔(Dava Sobel)的“经度”(Longitude)(ISBN:9780007214228)
经度,然后纬度(lon,lat)。
当投影到墨卡托时,经度定义x方向,纬度定义y方向。大多数几何库严格使用这种(lon,lat)格式,因为它是在2D平面中考虑地理坐标的最直观方法。