KML в таблицу Postgis

#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>