【问题标题】:In GeoDMS, how can I transform string coordinates to dpoint?在 GeoDMS 中,如何将字符串坐标转换为 dpoint?
【发布时间】:2019-04-20 10:26:37
【问题描述】:

我在 GeoDMS GUI 版本 7.177 中将字符串格式的坐标转换为 dpoint 格式时遇到问题。

我正在尝试直接从 Kadaster 将 BAG(basisadministratie gemeenten,荷兰市政当局,一个巨大的地理文件)读入 GeoDMS。首先是从 .xml 转换为 .csv,然后将建筑物的形状转换为与 Vesta 格式相同的格式,例如:

{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
}

有没有办法做到这一点?还是不支持字符串到 dpoint(或其他类型的点),我应该先将 CSV 转换为 shape 文件吗?

【问题讨论】:

    标签: geospatial geo geodms


    【解决方案1】:

    你可以试试这个:

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

    如果需要特定的投影:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      • 2022-11-17
      • 1970-01-01
      • 2022-11-17
      • 2017-05-19
      相关资源
      最近更新 更多