多边形与一个多角形字段的多行的利弊是什么?



所以我第一次要做一个项目,该项目涉及地图上的地图和图层,这些项目上有很多点和多边形。

我倾向于为点和多边形创建单独的表格,然后在它们与图层表之间建立许多一对一的关系。如果我这样做,我最终得到了5个表:pointspolygonslayerslayers_pointslayers_polygons

但是,我看到PostGIS还提供了称为MULTIPOINTMULTIPOLYGON的类型。如果我使用这些类型,那么我可以将其全部放在layers表中。我想这会使查询更快,因为我需要更少的加入。但是,我不确定以后是否会后悔,如果这意味着与各个要点一起工作和多边形是不可能的。我什至不确定是否有必要在各个要点和多边形上执行计算,但是很高兴知道这两种方法是否可能。

基本上我在问,这些不同的方法的利弊是什么?

通常,您将考虑使用多重法代表具有不相交表面的实体(例如,阿拉斯加的几何形状)或其他无法表示为多边形的拓扑。这里的关键是一个单一实体需要用多重子

表达

不会做的是组无关多边形的多边形,因为除非提取提取,否则您将无法在子多边形级别执行查询戒指进入另一个几何形状。如果多边形无关,则可能需要单独查询它们。即使他们共享一层,您也可以通过商业逻辑来管理这种关系,而无需合并它们,因为它们并不代表相同的实体。

请记住,前端中的几何工具不会将多龙视为有效的几何形状或多对象。看起来像您的用例的点 - 杂点的算法,检查是否包含一个点在多重子中。

Wicket.js(从/转换为WKT/GEOJSON/本机对象)之类的工具不支持多重法。Google Maps API V3除了数据层以外不支持多重法(但您无法像在多边形功能上那样在数据层上操作)。Turf.js的操作将在包含多个多边形的特征汇编上进行,但不在多重法上。

不知道您的确切用例,这是我可以告诉您的最好的, tl/dr:保持多边形为

相关内容

  • 没有找到相关文章

最新更新