我目前知识和经验有限,只能通过实践来学习。下面的代码片段是我用来设置与边界的偏移距离,从而创建一个内部地块的。
我遇到的问题是无法将内部地块的生成面(边界)几何形状导出为 GIS 图层。
有什么建议吗?提前感谢!
// inner_parcel_export.cga
// ------------------------------------------------------
// Purpose: Create an inner parcel offset inward from all boundaries by 1 m
// and mark it for export to GIS (e.g., as shapefile or GDB).
// ------------------------------------------------------
// -----------------
// Attributes
// -----------------
attr offsetDist = 1.0 // inward offset distance in meters
attr subparcel = 0 // attribute flag: 1 = inner parcel
attr parcelType = "outer" // attribute tag: outer/inner
// -----------------
// Start Rule
// -----------------
@StartRule
Lot -->
// Assign attributes to the outer parcel
set(subparcel, 0)
set(parcelType, "outer")
// Offset inward by offsetDist to create a new shape
offset(-offsetDist) InnerBoundary
// -----------------
// Inner boundary component handling
// -----------------
InnerBoundary -->
// Split geometry into inside and border parts
comp(f) {
inside : InnerParcel
| border : OuterParcel
}
// -----------------
// Inner parcel definition
// -----------------
InnerParcel -->
set(subparcel, 1)
set(parcelType, "inner")
color("#ffcc99")
// Keep as polygon shape for GIS export (no extrusion)
// -----------------
// Outer parcel definition (optional visualization only)
// -----------------
OuterParcel -->
set(parcelType, "outer")
color("#99ccff")
回复:
感谢分享你的代码片段——你积极参与 CityEngine 的实践学习真是太棒了。我理解将内部地块边界导出为 GIS 图层的挑战。下面我将为你介绍一个简单的解决方案。
将模型导出到 FileGDB 时,无法仅选择模型的特定面。因此,CGA 代码中所有您不想导出的面几何图形都必须设置为NIL。NIL操作
– ArcGIS CityEngine 资源 | 文档
// -----------------
// Outer parcel definition (optional visualization only)
// -----------------
OuterParcel --> NIL
// set(parcelType, "outer")
// color("#99ccff")
然后将模型导出到 FileGDB ,并确保仅导出模型:
导出 FileGDB(Esri 文件地理数据库)—ArcGIS CityEngine 资源 | 文档
感谢分享你的代码片段——你积极参与 CityEngine 的实践学习真是太棒了。我理解将内部地块边界导出为 GIS 图层的挑战。下面我将为你介绍一个简单的解决方案。
将模型导出到 FileGDB 时,无法仅选择模型的特定面。因此,CGA 代码中所有您不想导出的面几何图形都必须设置为NIL。NIL操作
– ArcGIS CityEngine 资源 | 文档
// -----------------
// Outer parcel definition (optional visualization only)
// -----------------
OuterParcel --> NIL
// set(parcelType, "outer")
// color("#99ccff")
然后将模型导出到 FileGDB ,并确保仅导出模型:
导出 FileGDB(Esri 文件地理数据库)—ArcGIS CityEngine 资源 | 文档











没有回复内容