跳转到内容
AI Edit
QGIS
教程

在 QGIS 中将卫星影像转为场地平面图

Satellite image of Broadway Gardens on the left, a flat site plan of the same block on the right (after)
Satellite image of Broadway Gardens on the left, a flat site plan of the same block on the right (before)
Google SatelliteSite plan
拖动比较
Broadway Gardens, Letchworth Garden City. Left: the Google Satellite image in QGIS. Right: the site plan a model drew from it in 29 seconds. Drag the handle.

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

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

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

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

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

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

网络上的方法为什么不对

每当有人问这个问题时,通常会出现三种答案,而每种答案都会让你损失一个小时,或者得到一张无法使用的图。

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

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

“模型会把可编辑的形状还给你。” 它还给你的是一张图片。颜色是平面的,地理配准是正确的,但在执行单独的矢量化步骤之前,你看不到任何 polygon。

你需要什么

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

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

手动方法:自己描绘

我会先完整介绍这种方法,因为它不需要 plugin,也因为掌握它之后,你才能判断 AI 结果是否可靠。

Load the imagery and frame the site

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

Google Satellite view of Broadway Gardens, Letchworth, in the QGIS canvas
Broadway Gardens at 1:2,022. The park, the town hall to the north, the office block and car park to the east, houses either side.

Create one polygon layer with a class field

Layer, Create Layer, New GeoPackage Layer。Geometry type 选择 Polygon,CRS 使用与你的项目相同的设置,并添加文本字段 class_name。一个带 class 字段的 layer 优于四个 layer,因为你可以在一个位置完成样式设置,并在一个文件中导出。

Trace buildings, then roads, then vegetation

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

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

Style the classes with flat fills

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

Export at scale

Project, New Print Layout。添加地图,将比例尺设为 1:500 或 1:1,000,添加比例尺和指北针,导出为 PDF。规划门户接受的就是这份 PDF。

这种方法会得到一份正确的场地平面图,以及一个由你掌控的文件。唯一的工作是描绘,而工作量会随着建筑数量增加。

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

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

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

Install the plugin and sign in

Plugins, Manage and Install Plugins,搜索 AI Edit,Install。打开面板并点击 Sign in。浏览器会打开,你创建一个账户,plugin 会自动完成连接。如果你想在开始前完整了解面板,可以查看完整指南。

Draw the zone

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

QGIS with the plugin panel open and a rectangular zone drawn around Broadway Gardens
The zone drawn around the block. The panel now asks what to change.

Write the prompt as a specification, not a wish

这是我使用的 prompt,逐字如下:

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”,这正是场地平面图与漂亮图片之间的区别。它还说明了不要做什么:不要阴影,不要纹理。如果你不想手动输入,同一个 prompt 位于面板的 Library 中,名称是 Clean architectural site plan

The plugin panel with the site plan prompt typed in and the Generate button enabled
Prompt in, output detail set to Detailed (2K). Generate is ready.

Generate

点击 Generate。在这个街区中,当输出细节设置为 Detailed(三个设置中的中间档位)时,结果在 29 秒后返回。新的 layer 是一张 2,392 × 1,792 像素的 GeoTIFF,约为每像素 25 cm,保存到你的 Documents 文件夹,并添加到影像上方的项目中。

QGIS canvas showing the generated site plan layer over the satellite imagery, with the plugin panel on the right
The result layer drops onto the map, exactly registered with the imagery underneath. The Before / after button swipes between the two.

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

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

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

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

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

需要记住什么

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

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

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

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

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

常见问题

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

我可以使用自己的无人机影像或测量影像吗? 可以。plugin 适用于你在面板中选择的任何 raster layer:无人机航拍生成的 GeoTIFF、国家制图机构提供的 WMS,或底图。输入影像越清晰,得到的平面图就越清晰。

支持哪些 QGIS 版本? QGIS 3.34 及更高版本,以及 QGIS 4,支持 Windows、macOS 和 Linux。

下一步

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

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

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