Предпочтительный порядок записи кортежей широты и долготы - PullRequest
121 голосов
/ 05 сентября 2011

При работе с исходным кодом ГИС вам часто нужно писать кортежи широты и долготы.

Например, в ссылках Google Maps (123, 456):

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

Какой предпочтительный порядок (и почему?)

  • широта, долгота

  • долгота, широта

Я видел, как обе системы использовались в разных системах, и я надеюсь найти некоторые доказательства, чтобы придерживаться другой.

Ответы [ 9 ]

184 голосов
/ 27 ноября 2012

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

27 голосов
/ 05 сентября 2011

Предпочитаемый порядок: latitude, longitude. Это было, по-видимому, стандартизировано Международная морская организация как сообщается здесь . Google также использует этот порядок в своих картах и Земле . Я помню этот порядок, думая о буквенном порядке latitude, longitude.

22 голосов
/ 10 сентября 2011

Правильный порядок - это долгота, широта практически во всех профессиональных ГИС-приложениях, как и в обычной математике (т. Е. 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 похож на практически все другие системы ГИС:

The KML encoding of every kml:Location and coordinate
tuple uses geodetic longitude, geodetic latitude, and
altitude (in that order).

Хорошее практическое правило: если вы знаете, что такое кортеж и программируете, вы должны использовать lon, lat. Я бы даже сказал, что это применимо, если ваш конечный пользователь (скажем, пилот или капитан корабля) предпочтет просмотреть результат в lat, lon. При необходимости вы можете изменить порядок в вашем пользовательском интерфейсе, но подавляющее большинство ваших данных (шейп-файлы, геоджон и т. Д.) Будут в нормальном декартовом порядке.

9 голосов
/ 05 сентября 2011

Лично я никогда не видел ничего, кроме широты, за которой следовала долгота.

И, когда вместо + и - вместо + и - всегда было +, равно N и - равно S.

Я наблюдал вариации при использовании + и - для E и W. Обычно + был E и - был W. Однако в более старых приложениях, где они имели дело с W долготой, я видел + быть W и -быть Е.

Надеюсь, вам не придется иметь дело с приложениями, которые старые.

9 голосов
/ 05 сентября 2011

По соглашению в «реальной жизни», когда задаешь позицию, широта (то есть север / юг) всегда дается 1-й, например, 20 ° с.ш. 56 ° з.д. (хотя это не следует обычным правилам, если думать о стандартной декартовой сетке); аналогично, все координаты в Википедии следуют этому соглашению (например, см. местоположение для Саутгемптона: http://en.wikipedia.org/wiki/Southampton). Чтобы избежать путаницы, особенно когда единицы не включены, я всегда рекомендую, чтобы широта была 1-й в кортеж.

5 голосов
/ 01 августа 2014

Таким образом, предпочтительный заказ зависит от личных предпочтений!

Широта пришла первой; равноденствие известно тысячелетиями, как дни, когда «солнце пересекает экватор»; в марте пересечение от S до N и сентябрь от N до S. Единственный вопрос, возможно, заключался в том, должен ли был быть угол экватора 0 или 90 градусов. Принимая 0 градусов, угол между вертикальным и полуденным солнечным зенитом равноденствия является широтой местоположения, повсюду на планете. Простая широта, или простая параллель, эффективно определяла себя.

Долгота может быть только по договоренности. Великобритания выставила приз за долготу. Британия нуждалась в своих кораблях, чтобы знать, где они находятся, и нуждалась в лучших картах Харрисон (http://www.youtube.com/watch?v=T-g27KS0yiY) произвел точный морской хронометр; они отправили в путешествие по картографическим путешествиям, например, Джеймса Кука 1770-х годов. Поэтому Британия требовала Первичного меридиана, используя Гринвич в качестве 000deg для своих карт. После 100 лет их использования, главный меридиан принят на международном уровне в 1884 году.

Во время Христофора Колумба Локатор был единственным числом, которое у них было. Стратегия состояла в том, чтобы пройти параллель прежде, чем повернуть налево или направо для пункта назначения; наблюдая за облаками или птицами. Измерение скорости в узлах каждый час было обычным делом, но не учитывало токи. Возможно, самым большим достижением Колумба было возвращение из Вест-Индии домой четыре раза. Без этого обнаруженная им земля не могла быть добавлена ​​к картам.

Чтение Давы Собель "Долгота" (ISBN: 9780007214228)

5 голосов
/ 18 января 2012

Помимо спецификации GeoJSON, о которой уже упоминали другие, есть и другие практические случаи, когда долгота и порядок в широте рекомендуются, даже обязательные, например: геопространственная индексация в MongoDB .Если вы ошиблись в этом порядке, ваши запросы будут возвращать неверные результаты, как если бы они снова выполняли транспонированный набор данных.

4 голосов
/ 04 сентября 2018

ISO 6709 стандартизирует перечисление заказа в виде широты, долготы по соображениям безопасности. Приведенное выше объяснение Грэма звучит правильно и для меня. Кто-то предположил, что этот ответ не связан с вопросом - это абсолютно так, и объясняет, почему порядок часто задается как широта, долгота.

Вот как это было перечислено, как долго навигаторы использовали систему; изменение этого сейчас может привести к путанице и, как предполагает ISO, потенциально опасно. ГИС-программы, такие как ArcMap, перечисляют их наоборот, потому что это типичное соглашение для координатных пар x, y. Широта - это у, долгота - это х, вот как Арк перечисляет их.

1 голос
/ 15 сентября 2011

Долгота, затем Широта (долгота, широта).

При проекции на Меркатор долгота определяет направление x, а широта определяет направление y. Большинство библиотек геометрии строго использует этот формат (lon, lat), поскольку он является наиболее интуитивным способом представления географических координат в 2D-плоскости.

...