Как я могу найти, если координата широты длинна действительна в системе координат? - PullRequest
8 голосов
/ 21 июля 2009

Если у меня есть точка по широте / долготе, и я хочу выяснить, является ли она допустимой для использования в конкретной системе координат, как я могу это сделать?

В качестве примера. Скажем, я работаю в Swiss Grid (CH 1903, EPSG 21781) и у меня есть точка, представляющая что-то в Лондоне в Великобритании, и я хочу знать, является ли эта точка действительной в системе координат Swiss Grid.

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

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

Но, насколько я могу судить, спроецированная система координат не имеет границ.

Ответы [ 5 ]

7 голосов
/ 21 июля 2009

Хотя приведенные ответы верны - в системе координат отсутствует понятие «границы», но есть подходы, которые вы можете использовать.

База данных EPSG предоставляет ограничивающую рамку широты / долготы для каждой определенной системы координат. Это указано в таблице «Площадь» и предоставляет (хотя и грубую) ограничивающую рамку, в которой разумна система координат. Одного этого может быть достаточно, чтобы помочь вам определить разумную степень.

Проверяя координаты вашей точки и четырех углов в базе данных EPSG, вы сможете определить, является ли координата (потенциально) разумной для данной проекции.

2 голосов
/ 21 июля 2009

Вы накладываете искусственные границы на систему координат, заявляя, что существует предел для самой системы (т. Е. Точка находится "за пределами" границ, потому что она выпадает из области, которая мне интересна).

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

1 голос
/ 22 июля 2009

EPSG и пользовательские прогнозы доступны по адресу:

http://www.spatialreference.org/

Найдите на сайте свой код EPSG, и вы увидите список координат.

1 голос
/ 21 июля 2009

Границы для данной системы координат являются специфическими для этой системы координат, поэтому не существует универсального алгоритма для определения, находится ли координата вне границ.

Помимо этого, быть "вне границ", вероятно, характерно для вашего домена. Например, в Swiss Grid 400N 200E не в Швейцарии, и, следовательно, выходит за пределы для типичного использования Swiss Grid и все же представляет реальное место. Это за пределами вашего домена или нет?

1 голос
/ 21 июля 2009

Извините, но вы застряли в реализации чего-то самостоятельно, потому что это действительно должно быть вашими правилами. Проецируемые системы координат обычно не имеют границ, но имеют ошибочное поведение. Для конкретного применения заданная проекционная система координат часто является достаточно точной только в определенных пределах.

Таким образом, короткий ответ заключается в том, что для применения этих ограничений действительно нужно, чтобы ваше приложение Каждая система координат различна, и ваши потребности будут определять ее. Например, возможно, вам нужна точность 100 метров, и в этом случае Swiss Grid может быть достаточно для довольно большой площади. Если вам нужна точность в 10 метров, ошибки нарастания на краях будут значительно быстрее, и поэтому ваши границы должны быть более плотными.

Использование подхода, ограничивающего четыре угла, будет работать большую часть времени, но он не универсален. Границы некоторых проекций лучше выражать как «радиус от центральной точки», и меня не будет шокировать, если некоторые «где-то далеко от основного меридиана» Все дело в том, как накапливаются ошибки для данного прогноза.

...