我们将一大堆ArcGIS shapefile导入到PostGIS中,随时随地转换shp2pgsql.问题是,如果shapefile有任何环自交叉,则导入扼流圈:
NOTICE: Ring Self-intersection at or near point -80.1338 25.8102
ERROR: new row for relation "place_shapes" violates
check constraint "shape_is_valid"
Run Code Online (Sandbox Code Playgroud)
我们该如何解决这个问题?
我正在尝试使用Google Maps API V3多边形实现多边形自相交算法.
目标只是检测是或否,用户绘制的简单多边形是自交叉.
我发现这个非常有趣的链接,但它假设多边形顶点的坐标是以geoJSON格式给出的.但是,这不是我的情况; 我只能够检索多边形坐标使用polygon.getPath()到polygoncomplete的事件.
这是我检索坐标的方式:
google.maps.event.addDomListener(drawingManager, 'polygoncomplete', function(polygon)
{
var polygonBounds = polygon.getPath();
var coordinates = [];
for(var i = 0 ; i < polygonBounds.length ; i++)
{
vertice = {
"Latitude" : polygonBounds.getAt(i).lat(),
"Longitude" : polygonBounds.getAt(i).lng()
}
coordinates.push(vertice );
}
}
Run Code Online (Sandbox Code Playgroud)
如何将这些坐标转换polygon.getpath()为geoJSON格式?
有没有更好的方法来检测Google地图多边形是否自相交?如果是这样,请您分享一些代码示例,而不仅仅是数学解释?
PS:我看过这个链接,但没有任何代码示例,我有点迷失.
javascript polygon shapes google-maps-api-3 self-intersection