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
еще не было, значит, произошла ошибка или пропущен шаг, когда вы пространственно включили базу данных.