0

使用 DotSpatial,如果我将 Shapefile 打开为IFeatureSet,我可以在其中看到形状的集合,FeatureSet并且这些形状具有属性的集合。但我看不到找到与形状关联的名称的明显方法?

例如,如果我有以下代码:

var featureSet = Shapefile.Open("../../Ecuador/map.shp");

var rowCount = featureSet.NumRows();

for (var i = 0; i < rowCount; i++)
{
    var shape = featureSet.GetShape(i, true);
    var geometry = shape.ToGeometry();
}

如果我通过在对象上放置断点来调试此代码,Shape我可以看到一组属性。在我使用的示例中,每个形状都有 12 个属性。我可以看到这些属性之一是我认为是形状的名称(在这个例子中,我正在查看厄瓜多尔的省份),但我不知道如何可靠地配对这些属性中的哪一个是形状名称,在这种情况下是省的名称。


编辑

这是我可以看到的第一个形状的可用属性的示例:

可用形状属性的图像

快速浏览一下,我会说索引 4 处的属性是我需要的,但我如何以编程方式找到它?


进一步编辑

看起来,通过进一步探究数据,属性的标签可能是 DataTable 中的列名称IFeatureSet

数据表列值的图像

虽然......如果我想导入这些形状,我会以编程方式选择其中哪些?是允许进行导入的人手动选择正确的唯一方法吗?

4

1 回答 1

1

我在 Google Earth 中找到了一个名为Importing Geographic Information Systems (GIS) data的页面。

从 shapefile 导入的过程显示了一个屏幕截图,其中要求用户从可用属性表中选择包含形状名称的属性。

显示名称字段选择的图像

似乎将名称附加到要素的任务是由用户手动处理的。

于 2016-01-19T15:28:56.597 回答