Javascript 为什么Openlayers会切换坐标的lat、lon顺序?

Javascript 为什么Openlayers会切换坐标的lat、lon顺序?,javascript,openlayers,Javascript,Openlayers,作为一名非地理信息系统专家,我知道,或者更确切地说,我知道两种不同格式的GPS坐标表示地球表面某个位置的纬度和经度。第一种使用度、分和秒(如果你喜欢的话,有点像“帝国制风格”)。第二个使用十进制度数(如果你喜欢的话,有点像“公制风格”) 当我阅读WGS84时,我相信地球是平的。。。我的意思是一个球体,已经破碎了。它是一个椭球体。不是球体。你们这些撒谎的老师!:-)无论如何,我遇到了第三种格式:UTM坐标系 例如,伦敦大本钟的GPS坐标为: 度、分和十进制秒:51°30'2.624英寸北0°7'2

作为一名非地理信息系统专家,我知道,或者更确切地说,我知道两种不同格式的GPS坐标表示地球表面某个位置的纬度和经度。第一种使用度、分和秒(如果你喜欢的话,有点像“帝国制风格”)。第二个使用十进制度数(如果你喜欢的话,有点像“公制风格”)

当我阅读WGS84时,我相信地球是平的。。。我的意思是一个球体,已经破碎了。它是一个椭球体。不是球体。你们这些撒谎的老师!:-)无论如何,我遇到了第三种格式:UTM坐标系

例如,伦敦大本钟的GPS坐标为:

  • 度、分和十进制秒:51°30'2.624英寸北0°7'28.65英寸西
  • 十进制度数:51.500729,-0.124625
  • UTM:30U区东:699565.68北:5709430.72
  • 资料来源:

    关于UTM坐标(格式3),值得注意的是,与我更熟悉的格式1和2相比,纬度和经度已经颠倒了。 所以我想知道,是不是因为UTM坐标,OpenLayers对lat,lon坐标使用了“反向”顺序(参见)

    事后思考:如果OpenLayers是为了进一步利用各种地理信息而开发的,那么这个“异常”不应该被修复以使非GIS专家更容易访问吗

    编辑:也许我不应该在这里提到UTM。为什么Openlayers希望坐标的顺序是[lon,lat],而不是“通常的”[lat,lon]顺序

    var coord = [7.85, 47.983333];
    var out = toStringHDMS(coord);
    // out is now '47° 58′ 60″ N 7° 50′ 60″ E'
    

    根据ISO 6709,正确的顺序是[纬度,经度]

    但许多软件产品和标准都需要[lon,lat]订单。它不仅是OpenLayers,还包括PostGis、GeoJSON、KML和几乎所有的专业GIS应用程序

    我能想到两个原因,为什么计算机科学家对它的定义不同于地理学家

    • 传统的数学方法是写
      f(x,y)
      ,即先东后北
    • 2000年的WMS规范1.0间接定义了[lon,lat]顺序。当时的软件产品已经实现了这个标准。即使不久之后对标准进行了修订,软件产品仍保持在[lon,lat],以避免版本问题

    也许您的困惑源于UTM没有使用“纬度”和“经度”。这句话的意思是:“坐标是以米为单位的北距和东距来测量的”——从你提到大本钟开始。但是,真正的答案是“这就是它的设计方式,不是一种反常现象。”