查看原文
其他

案例!从天地图中提取全市的建筑物矢量轮廓-以苏州市为例

The following article is from GIS荟 Author 你个海怪


前言:结合 ArcGIS 和 QGIS,分享从天地图图像中提取大范围(全市)的建筑物矢量,以及注意事项和优化。
 

从天地图中提取全市的建筑物矢量轮廓

《5分钟,ArcGIS 简单几步从天地图中提取出建筑物轮廓的矢量数据》中详细介绍了如何使用 ArcGIS pro 或者 ArcMap 从天地图影像中提取中提取时效性好、位置又准确的建筑物矢量轮廓。
又在这篇《如何用 QGIS 下载高清天地图影像直到服务器宕机,同时解决下载质量差的问题,不仅仅天地图哦!》文章中介绍了如何使用 QGIS 下载高等级的、大范围的天地图影像。
结合这两篇文章做出了一个大范围的案例,提取苏州市东西方向约10公里、南北方向约10公里范围内的所有建筑物,基本包括了苏州市的主城区。
咋一看效果还针不戳!但仔细一看还有一些可以优化的地方,同时也存在一些需要注意的点,下面就大致浏览一下制作过程,当然重点是注意事项和可优化的地方。
Note:所以这篇文章不是详细的教程,因为之前已经写过了,所以步骤会稍显粗略。如果卡在某些地方,可以翻阅上面提到的两篇文章,非常详细。重点是过程中的注意事项和优化方法。
 

最终效果 

制作方法

步骤一:下载

先从 QGIS 中下载了苏州市部分主城区的天地图图像,参考系为3857,空间分辨率为0.5米,共1.6G。 
左:下载的天地图矢量图像;右边:放大后
(虽然叫天地图矢量图像,但本质是服务器端渲染使用矢量数据制作的切片图片,在客服端显示而已,并不是矢量。)
步骤二:灰度图化
将下载的图像添加到任意 GIS 软件中,比如 ArcGIS Pro 或 ArcMap,我们需要将其灰度图化,我也喜欢叫二值化。
在 GIS 软件的符号系统中选择拉伸,拉伸色带使用黑白色带,然后导出,导出设置选择渲染器导出,他就会根据当前栅格的渲染结果进行导出。

导出结果如下 

密密麻麻的白点全是建筑物
步骤三:分类并导出
然后根据灰度图设置合适的阈值将建筑物和非建筑物分开,然后导出栅格(勾选渲染器)。 

ArcGIS Pro 符号系统
再次提醒,这不是一篇详细的教程文章,因为之前已经写过了,所以步骤不会非常详细。如果卡在某些地方,可以翻阅一开头提到的教程,非常详细。
步骤四:栅格转面
将分类导出的栅格数据转为面矢量数据。
需要注意的是,根据工具中是否勾选简化面,结果会有差别。

下面左边没有勾选简化面,右边勾选了简化面,有较为明显的差别。
另外最后导出的矢量效果和下载栅格数据的空间分辨率也有一定的关系,注意事项中会详细说明。
 

注意事项

栅格空间分辨率
一开始下载的栅格数据的空间分辨率对最后的结果有非常大的影响,下面左边是下载的1米空间分辨率的天地图矢量瓦片,右边是0.5米,仅从图片上就能明显看到清晰度的差异。
在处理后,得到的最终结果也有非常大的差别,左边是从1米空间分辨率的天地图中提取的,右边则是0.5米。可以明显看到左边的锯齿更多,不光滑。
 
所以提高下载栅格的空间分辨率能有效把关最后的提取轮廓矢量质量。
当然一味的高空间分辨率也是不可取的,因为原始栅格影像的切片级数已经到头了,再高也不会有清晰度的提升,只会增加数据存储大小。
简化面、平滑面
在最后从栅格转面的时候,勾选简化面能有效平滑矢量轮廓的锯齿,如果还是没有达到期望的话,可以尝试以下工具:
  • 概化;
  • 简化建筑物;
  • 规则化建筑物覆盖区;
  • …… 
这些处理可能会消耗大量计算机性能,毕竟图斑、折点数都很多。

(听到笔记本的风扇声,我怕它起飞后找不回来了 😢)
去除道路
放大看效果,道路也被提取出来,如何剔除道路呢? 

通常道路的值都是统一的,毕竟颜色都一致,或者就两三种颜色,通常与建筑物的颜色不一样,我们可以在确定道路的值后,使用栅格计算器将该值得像元抹去,或者设置为其他会被排除的值。
更具体的处理步骤是在二值化后,整个栅格数据的像元值分布在0-255,确定道路的值后,使用栅格计算器精确打击! 
完毕!建议收藏!
抛砖引玉,欢迎大家后台提出建议!
文章授权转载GIS荟
END

ArcGIS矢量数据和存储
如何在ArcGIS中制作一幅“合格”的地图
5分钟,ArcGIS 简单几步从天地图中提取出建筑物轮廓的矢量数据
天地图PDF文件转GIS数据:以安徽省土地利用现状图为例
如何做一张漂亮的高程、坡度、坡向分析图(附练习数据下载)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存