KML到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/

解决方法

LinearRing不能存储到Geometry列中或从中检索(see the document)

因此,您应该使用<Polygon>标记而不是<LinearRing>或用OuterBoundaryPolygon标记将其包装,如下所示:

<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>0,0 0,1 1,0</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>