跳转到内容
AI Edit
QGIS
教程

QGIS 卫星影像转场地平面图:手动描绘与 AI 重绘

发布于

左侧是 Broadway Gardens 的卫星影像,右侧是同一街区的平面化场地平面图 (after)
左侧是 Broadway Gardens 的卫星影像,右侧是同一街区的平面化场地平面图 (before)
Google Satellite场地平面图
拖动比较
Broadway Gardens,Letchworth Garden City。左:QGIS 中的 Google Satellite 影像。右:模型据此在 29 秒内绘制的场地平面图。拖动滑块即可对比。

要将卫星影像转成场地平面图,需要三样东西:经过地理配准的影像,一种把所见内容描绘成平面形状的方法,以及一种让结果以正确比例返回的方法。在 QGIS 中,第一项和第三项由软件提供,真正耗费整个下午的是描绘工作。

本文先介绍手动方法,然后用一个模型在 29 秒内对同一个街区进行重绘,并说明模型哪里出错。本文中的每一张图片,都是那次 QGIS 会话的截图。

地点是 Letchworth Garden City 的 Broadway Gardens,这是第一座花园城市,位于伦敦以北约 55 km。一块 586 米乘 439 米的区域:一个带喷泉的规整公园、旧市政厅、一座图书馆、一栋带停车场的办公楼,以及两条住宅街。变化足够丰富,足以暴露出偷懒的方法。

什么是场地平面图,为什么从卫星影像开始?

场地平面图是对一块地及其周边环境进行按比例绘制的俯视图:现有建筑、通往建筑的道路和路径、建筑之间的树木和草坪,以及在方案图中拟建造的对象。规划部门几乎会要求每份申请都附上场地平面图。建筑师会在每个项目开始时绘制一份,以便在动手设计之前了解场地。

卫星或航空影像是最诚实的底图,因为它已经包含了所有答案:建筑轮廓在哪里、道路有多宽、哪些树木已经成熟。问题在于,这些内容以像素形式存在,而场地平面图需要的是形状。下面所有内容,讲的都是这种转换。

手动方法:自己描绘

  • 在地块尺度上清晰可读的影像。 Google Satellite 是在 QGIS 中最容易加载的选择,覆盖世界大部分地区,分辨率为 15 到 30 cm。能够获取国家正射影像时,它们会更好:美国的 NAIP、法国 IGN 的 BD ORTHO,以及欧洲大多数地籍机构发布的 WMS。任何一种都可以:GeoTIFF、WMS 或 XYZ 底图。
  • QGIS,支持 Windows、macOS 或 Linux。版本 3.22 或更高。
  • QuickMapServices 插件,用于一键加载 Google Satellite。插件 > 管理并安装插件...(Plugins > Manage and Install Plugins),搜索“QuickMapServices”。

您不需要 Photoshop、Illustrator 或任何其他 GIS。本文从单独的影像开始,而不是从 CAD 图纸开始。

我会先完整介绍这种方法,因为它不需要插件,也因为只有掌握它,您才能判断 AI 结果是否可靠。

加载影像并框定场地

网络 > QuickMapServices > Google > Google Satellite(Web > QuickMapServices > Google > Google Satellite)。将视图缩放到您的地块。对于这么大的街区,我会将视图框定在约 1:2,000;对于单栋房屋地块,则使用 1:500。影像已经完成地理配准,因此底部栏中的比例尺无需任何操作就是正确的。

QGIS 画布中 Letchworth 的 Broadway Gardens 的 Google Satellite 视图
比例尺 1:2,022 下的 Broadway Gardens。中间是公园,北侧是市政厅,东侧是办公楼和停车场,两侧是住宅。

创建一个带类别字段的多边形图层

图层 > 创建图层 > 新建 GeoPackage 图层...(Layer > Create Layer > New GeoPackage Layer)。几何图形类型选择 多边形,CRS 与您的工程保持一致,并添加文本字段 class_name。一个带类别字段的图层优于四个图层,因为可以在一处设置样式,并在一个文件中导出。

依次描绘建筑物、道路和植被

切换编辑模式,添加多边形要素(Toggle Editing,Add Polygon Feature),围绕每个建筑轮廓点击。拐角处保持鼠标稳定,不要追踪每一个飘窗。场地平面图按 1:500 阅读,而不是按 1:50 阅读。接着描绘道路,每条车行道使用一个长多边形。最后描绘植被,画成松散的块状,因为没人会检查草坪边缘。

我没有计时描绘这个确切街区所需的时间,所以不会引用一个数字。但可以确定的是,这里有几百栋建筑,而每栋建筑都需要点击好几次。

用平面填充设置各类别的样式

图层属性 > 符号化,在 class_name 上选择 分类(Layer Properties > Symbology > Categorized)。建筑使用白色填充和细黑色轮廓,道路使用中灰色,植被使用浅绿色,水体使用浅蓝色。这四种填充就是场地平面图的全部视觉语言。不要忍不住添加更多颜色。

按比例导出

工程 > 新建打印布局(Project > New Print Layout)。添加地图,将比例尺设为 1:500 或 1:1,000,添加比例尺和指北针,导出为 PDF。规划门户接受的就是这份 PDF。

这种方法会得到一份正确的场地平面图,以及一个由您掌控的文件。唯一的工作是描绘,而工作量会随着建筑数量增加。如果该街区已有开放数据,免费建筑物轮廓下载工具可以直接以 GeoJSON 提供建筑多边形,您只需描绘道路和植被。

快速方法:让模型重绘影像

生成式模型可以直接在原位置重新设计影像的风格:范围不变,形状不变,只把摄影纹理替换成平面填充。我们构建了这样的工具,AI Edit。本节介绍的是我们自己的工具。

它接收影像中的一个区域,以及一句描述所需变化的文字,然后将结果作为新的地理配准栅格图层返回,与原始影像逐像素对齐。对于场地平面图来说,这个“变化”就是风格:保持每个形状的位置不变,用平面填充替换摄影纹理。

安装插件并登录

插件 > 管理并安装插件...(Plugins > Manage and Install Plugins),搜索 AI Edit,点击 安装。打开面板并点击 登录。浏览器会打开,您创建一个账户,插件会自动完成连接。如果想在开始前完整了解面板,可以查看完整指南。

绘制区域

点击 启动 AI Edit,然后在地图上点击区域的各个角点,并按 Return 将其闭合。我圈出了整个街区,586 米乘 439 米。这算是比较大的范围:当面积大约超过一平方公里时,面板会警告 AI 只保留较大的形状,而这个警告是正确的。

已打开插件面板的 QGIS,Broadway Gardens 周围绘制了一个矩形区域
围绕街区绘制的区域。面板此时会询问要做出什么变化。

把提示词写成规格说明,而不是愿望

这是我使用的提示词,逐字如下:

Transform this orthophoto into a clean architectural site plan. Top-down view, flat fills, no photographic texture and no shadows. Exactly four classes and nothing else: buildings as white footprints with a thin black outline, roads and parking as mid grey, vegetation as pale sage green, water as pale blue. Keep every footprint, kerb line and road centreline in its exact position and shape. Same geographic extent as the input.

它之所以有效,有三个原因。它写明了类别和颜色,因此模型不会自行发挥调色板。它写了“exact position and shape”,这正是场地平面图与漂亮图片之间的区别。它还说明了不要做什么:不要阴影,不要纹理。如果不想手动输入,同一个提示词位于面板的 提示词库 中,名称是 Clean architectural site plan。

已输入场地平面图提示词、“生成”按钮可用的插件面板
提示词已输入,输出细节设为精细(2K)。可以点击生成了。

生成

点击 生成。在这个街区中,当输出细节设置为 精细(三个设置中的中间档位)时,结果在 29 秒后返回。新的图层是一张 2,392 × 1,792 像素的 GeoTIFF,约为每像素 25 cm,保存到您的“文档”文件夹,并添加到影像上方的工程中。

QGIS 画布中,生成的场地平面图图层叠在卫星影像之上,右侧是插件面板
结果图层落在地图上,与下方的影像精确配准。点击“前后对比”按钮,可在两者之间滑动查看。

再次查看本文顶部的滑块中的平面图。每个建筑轮廓都在应在的位置。公园沿线的树木通道显示为一排排树冠。停车场保留了车位线。喷泉池是一个蓝色八边形,这一点是正确的。

我手动修正了什么,以及哪些内容我不会信任

下面是 AI 在这个街区中出错的地方,来自同一次运行,没有挑选结果。

  • 八边形建筑变成了池塘。 喷泉西南方那座铜屋顶的圆形建筑有一个绿色屋顶,但平面图把它画成了浅蓝色水体。这是几百个建筑轮廓中唯一真正的错误,也是只有先看过影像才能发现的错误。
  • 停车位条纹保留了下来。 两个停车场中的涂漆车位线以浅灰色绘出。如果希望显示车位,可以保留它们;如果不需要,可以在提示词中要求使用纯灰色停车区域。
  • 大多数树冠与草坪颜色合并了。 如果平面图需要保留单棵树的位置,可以使用只处理树木的提示词再运行一次,或者使用 AI Segmentation,并输入提示词“tree”。它就是为统计单个对象而设计的。

对于边界测量或任何 30 cm 的误差都很重要的工作,我不会使用这种方法。平面图的准确度取决于影像,而 Google Satellite 并不是测量成果。对于可行性研究、预申请图纸、景观概念设计,或明天早上就要举行的客户会议,这正是我会使用的方法。

需要记住什么

如果建筑数量少于大约二十栋,就手动描绘。您会在写出一个好的提示词之前完成工作,而且会了解场地的每个角落。这才是绘制场地平面图的真正意义。

在街区和社区尺度的工作中,在多个场地上重复执行的工作中,以及那些图纸要在九点前交付的日子里,生成式方法才真正体现价值。

一个写明四个类别及其颜色,并说明“exact position and shape”的提示词,就是场地平面图与漂亮图片之间的区别。

输出是一张按真实比例生成的地理配准图片,因此由它制作的打印布局在影像精度范围内具有正确的尺寸。

在这个街区中,一个绿色屋顶变成了池塘。请先看影像,再看平面图,因为只有这样才能发现这类错误。

常见问题

场地平面图返回时比例正确吗?

是的。结果是与影像使用相同坐标系的 GeoTIFF,因此它会以真实比例位于地图上。由它制作的任何打印布局,在影像本身的精度范围内都具有正确的尺寸。

我可以使用自己的无人机影像或测量影像吗?

可以。插件适用于您在面板中选择的任何栅格图层:无人机航拍生成的 GeoTIFF、国家制图机构提供的 WMS,或底图。输入影像越清晰,得到的平面图就越清晰。

支持哪些 QGIS 版本?

QGIS 3.22 及更高版本,以及 QGIS 4,支持 Windows、macOS 和 Linux。

我可以从 Google Earth 截取影像,然后在截图上描绘吗?

截图没有坐标,所以在能够画线之前,要先花二十分钟用配准工具完成地理配准。在 QGIS 中加载的影像已经完成地理配准,这正是应该从这里开始,而不是从绘图工具开始的原因。

AI 生成的场地平面图,精度足以用于测量吗?

平面图的准确度取决于底下的影像,而 Google Satellite 并不是测量成果。它适合可行性研究、预申请图纸或客户会议,却不适合确定边界。

下一步

加载您自己的场地,绘制区域,粘贴上面的提示词。如果平面图正确,您就有了一个可以开始设计的基础。如果它不正确,您也在三十秒内了解了场地的一些情况,而手动方法仍然可用。

还有最后一点。您得到的平面图是一张图片。如果您只需要一张用于演示或客户演示文稿的图片,这就足够了,可以到此为止。如果您需要可以编辑的多边形,插件提供了一个工具,可以将平面颜色转换成矢量图形,每种颜色对应一个类别。这是另一篇文章的主题。

在描绘任何内容之前,先了解您面对的是哪一类场地会有帮助:绿地与棕地对比一文介绍了这两类场地在同类航空影像上各自是什么样子。

更多关于 AI 在 QGIS 中能做什么、不能做什么的内容,请查看 QGIS AI 中心。