#postgresql #postgis
#postgresql #postgis
Вопрос:
Я пытаюсь сохранить некоторые файлы KML в PostgreSQL. Я использую postgis, и это пример того, что я сделал до сих пор.
INSERT INTO police_crime_boundaries (name, polygon) VALUES (
'A',
ST_GeomFromKML('<LinearRing>
<coordinates>-2.69927798816,52.9954289967,0 -2.70075298816,52.9932649967,0
</coordinates>
</LinearRing>')
);
У кого-нибудь есть идеи о том, что я делаю не так?
Получение данных отсюда:https://data.police.uk/data/boundaries /
Комментарии:
1. Вы получаете какую-либо ошибку? Что не так?
2. Да, я получаю сообщение об ошибке: ОШИБКА: недопустимое представление KML
Ответ №1:
LinearRing
невозможно сохранить / извлечь из Geometry
столбца (см. Документ)
Поэтому вам следует либо использовать <Polygon>
tag вместо <LinearRing>
, либо обернуть его тегами OuterBoundary
и Polygon
, как показано ниже :
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>0,0 0,1 1,1 1,0 0,0</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>