OpenStreetMaps и Postgis: неправильная широта и долгота от географической точки

Я скачал файл italy.osm и импортировал в postgresql с помощью postgis.

Поэтому я пытаюсь извлечь широту и долготу из поля "путь" (геометрия) таблицы planet_osm_point, используя функции ST_X(), ST_Y(), и это те координаты, которые я получаю в результате запроса точки в центре Милан Сити.

X: 1025988,29850153 Y: 5709056,87437553

Я что то не так делаю?

1 ответ

Решение

Данные должны быть спроецированы на WGS84:

SELECT ST_Y(ST_Transform(way, 4326)) AS lat, ST_X(ST_Transform(way, 4326)) AS long
FROM planet_osm_point;

Не устанавливайте пространственную привязку с пространственного srid=94326), поскольку у вас уже должно быть это, когда вы пространственно включили базу данных. Если srid=4326 еще не было, значит, произошла ошибка или пропущен шаг, когда вы пространственно включили базу данных.

Другие вопросы по тегам