buffer - 在 GeoDMS 中,我试图缓冲一个多边形,但出现错误
问题描述
在 GeoDMS 中,我想缓冲一个 5 米的多边形集,但出现错误:
polygon_i4D Error: Cannot find operator for these arguments:
arg1 of type DataItem<FPolygon>
arg2 of type DataItem<Float64>
有人可以帮我解决这个问题吗?
unit<uint32> shapes
: StorageName = "%SourceDataDir%/CBS/bevolkingskern_2011.shp"
, StorageType = "gdal.vect"
, StorageReadOnly = "True"
, FreeData = "False"
, SyncMode = "None"
{
attribute<geometries/rdc> geometry (poly) ;
attribute<geometries/rdc> buffer (poly) := polygon_i4D(geometry, 5d);
}
解决方案
为缓冲区属性配置的表达式会产生一个膨胀的多边形。
使用 - 运算符查找缓冲区(膨胀区域但不是原始区域),例如:
attribute<geometries/rdc> buffer :=
value(polygon_i4D(ipolygon(geometry), 5d) - ipolygon(geometry), geometries/rdc);
推荐阅读
- docker - Docker 容器立即退出
- java - Checkstyle EmptyLineSeparator 忽略自定义标记
- javascript - 创建一个包装函数以接受内部函数的变量参数
- python - Selenium 适用于 AWS EC2,但不适用于 AWS Lambda
- visual-studio-code - Prettier 删除 2 个空行
- java - 具有两个不同列表的嵌套 lambda foreach(其中一个列表必须是最终的?)
- doc2vec - 如何在使用通用语料库训练后继续使用特定领域语料库训练 Doc2Vec
- matlab - 具有公分母的符号分数求和 (MATLAB)
- python - CNN中的绝对值层
- android - 我想在不使用 Firebase 身份验证的情况下向用户电子邮件发送验证链接 [Flutter]