#buffer #geospatial #geodms
#буфер #геопространственный #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);
}
Ответ №1:
Настроенное выражение для атрибута buffer приводит к раздутому полигону.
Используйте — operator, чтобы найти буфер (увеличенную область, но не исходную область), например:
attribute<geometries/rdc> buffer :=
value(polygon_i4D(ipolygon(geometry), 5d) - ipolygon(geometry), geometries/rdc);
Ответ №2:
Можете ли вы попробовать:
attribute<geometries/rdc> buffer := fpolygon(polygon_i4D(ipolygon(geometry), 5d));