Как получить имя формы

Используя 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:

Изображение значений столбца таблицы данных

Хотя... какой из них я бы выбрал программно, если бы хотел импортировать эти фигуры? Является ли единственный способ позволить человеку, выполняющему импорт, выбрать правильный вручную?

1 ответ

Решение

Я нашел страницу под названием Импорт данных географических информационных систем (ГИС) в Google Планета Земля.

Процесс импорта из шейп-файла показывает снимок экрана, на котором пользователю предлагается выбрать атрибут, содержащий имена для фигур, из таблицы доступных атрибутов.

Изображение, показывающее выбор поля имени

Похоже, что задача прикрепления имен к функциям обрабатывается пользователем вручную.

Другие вопросы по тегам