В GeoDMS, как я могу преобразовать строковые координаты в dpoint? - PullRequest
0 голосов
/ 17 ноября 2018

У меня проблемы с преобразованием координат в строковом формате в формат dpoint в GeoDMS GUI версии 7.177.

Я пытаюсь зачитать BAG (baseadministratie gemeenten, администрация голландского муниципалитета, гигантский географический файл) в GeoDMS непосредственно из Kadaster. Сначала он был преобразован из .xml в .csv, затем формы зданий были преобразованы в формат, который, по-видимому, совпадает с форматом Весты, например ::10000

{5:{249943.307,593511.272}{249948.555,593512.791}{249946.234,593520.809}{249940.987,593519.29}{249943.307,593511.272}}

Я могу прочитать преобразованный CSV-файл в GeoDMS, а затем записать его в виде строк в формате .dmsdata для скорости и снова загрузить его оттуда в GeoDMS. Однако, когда я хочу преобразовать строки в координаты, я получаю ошибку

DPoint Error: Cannot find operator for these arguments:
arg1 of type DataItem<String>
Possible cause: argument type mismatch. Check the types of the used arguments.

Мой код GeoDMS выглядит как

unit<uint32> altBag:
    storageName     = 'c:/zandbak/output/bagPND.fss'
,   storageReadOnly     = 'true'
,   dialogType      = 'map'
,   dialogData      = 'geometry'
{
    attribute <string>  pandGeometrie; // works and looks good
    attribute <dpoint>  geometry := dpoint(pandGeometrie); // doesn't work, error above
    attribute <rdc>     geometry2 := pandGeometrie[rdc]; // doesn't work either
}

Есть ли способ сделать это? Или строка в точку d (или точку другого типа) не поддерживается, и мне следует сначала преобразовать CSV в файл формы?

1 Ответ

0 голосов
/ 08 марта 2019

Вы можете попробовать это:

        attribute<dpoint> Geometry(poly) :=  dpolygon(GeometryStr);

и, если требуется конкретный прогноз:

        attribute<rdc_meter> Geometry2(poly) :=  value(GeometryStr, rdc_meter);
...