这就是我在QGIS中看到的是-我突出显示了在图块边界处分割的一些建筑物:
我无法手动合并建筑物,因为有很多方法它们太多了,已经在边界处分裂了(这只是一个放大的示例)。我正在寻找一种自动化的方法来解决此问题。
不幸的是,已拆分建筑物的每一侧都有不同的ID,因此我不易溶解它们。
如何您是否建议我可以自动合并建筑图块?
编辑
我现在正在使用PostGIS合并在图块边界处分割的多边形。这是为我执行此操作的SQL语句-比使用QGIS快很多倍:
DROP TABLE merged;
CREATE TABLE merged AS
SELECT
-- Merge polygons that are within 0.01 metres of each other
(ST_Dump(ST_Union(ST_Buffer(the_geom, 0.01)))).geom AS the_geom
FROM unmerged;
-- Update the geometry_columns table
SELECT Populate_Geometry_Columns();
#1 楼
如果您只想溶解边缘并且对所有建筑物都拥有一个大型的多面要素感到满意,则可以简单地使用fTools的“溶解”工具(“矢量/地理处理/溶解”)。如果您想要保留属性(在OS Vector仅为ID的情况下,这似乎是很随意的),可以拆分溶解的矢量层,然后使用“ Join attribute by by位置”:
这是两个OS建筑物shapefile的子集,已使用“矢量/数据管理/将shapefile合并为一个”合并到单个shapefile中。颜色是随机分配的,以显示各个特征:
这是“溶解”工具的结果:所有特征都已通过第一个对象的ID,在三个中央建筑物中的中断消失了:
使用“矢量/几何/多部分分割为单部分”将特征拆分后,建筑物都是单独的功能,但是它们都具有相同的ID:
以分割层为目标运行“矢量/数据管理工具/按位置加入属性”并将原来的合并层作为Join向量层,则为建筑物重新分配其各自的ID:
评论
我认为问题可能在于这是OS VMD OpenData(如果我输入错了,请纠正我)。在这种情况下,要素不具有可用于溶解的属性。因此,您不妨尝试使用普通的fTools溶解。祝您好运,在某些OpenData向量中,多边形被与网格线重合且不会溶解的线分开。
–尼普顿
13年2月7日在18:48
@nhopton:但是普通的fTools解散会将所有功能合并为一个功能(如果没有ID可以标识哪些功能属于同一特征,如此处所示),这很可能不是Rob想要的。如果在为所有要素分配了相同的伪属性后使用v.dissolve,则只有那些共享边界的要素才会合并在一起。
–杰克
13年2月7日在19:02
如果Rob所追求的只是形状,那么单一功能可能不会对Rob造成问题。但是可以,尝试两种溶解方法。缺口。
–尼普顿
13年2月7日在19:25
您确定所有本应溶解的多边形实际上都已经溶解了吗?在这里大多数溶解,但不是全部溶解。
–尼普顿
13年2月7日在20:32
谢谢您的帮助!事实证明@nhopton是正确的,并且VectorMap District拆分实际上有点偏离,因此不能正确溶解。我现在正在尝试使用PostGIS来加快此过程。
–罗宾·霍克斯(Robin Hawkes)
13年2月8日在12:56
评论
您可能应该将解决方案作为答案,然后接受它而不是我的答案。坚持使用问答方案可以使遇到相同问题的其他人更容易找到解决方案。