В GeoDMS я пытаюсь буферизовать многоугольник, но получаю ошибку - PullRequest
0 голосов
/ 25 марта 2019

В 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);
}

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

Сконфигурированное выражение для атрибута буфера приводит к раздутому многоугольнику.

Используйте оператор -, чтобы найти буфер (раздутая область, но не исходная область), например:

attribute<geometries/rdc> buffer :=
   value(polygon_i4D(ipolygon(geometry), 5d) - ipolygon(geometry), geometries/rdc);
0 голосов
/ 27 марта 2019

Можете ли вы попробовать:

attribute<geometries/rdc> buffer := fpolygon(polygon_i4D(ipolygon(geometry), 5d));
...