2016-01-04 2 views
0
foreach(Row in table.Search("*","",rowinstance.recycle())) 
{ 
    City current_city = new City(); 
    current_city.cityname = row.GetString("cityname"); 

    PointShapeBuffer geometry = row.GetGeometry(); 
    psri.FileGdb.point point = geometry.point; 
    current_city.xcord = point.x; 
    current_city.ycord = point.y; 
    current_city.popCateogry = row.getInteger("pop"); 

} 

В приведенном выше коде я извлекаю разные значения из одной строки, например row.GetString(), row.GetInteger() и т. Д., Как насчет того, если я не знаю тип данных этой строки, как я могу получить значения от строки в целом? Я пробовал var type = row.GetType(), но его не работает, он дает некоторую другую информацию, а не тип данных.Как читать данные из файлов базы данных геоданных динамически?

+0

Это ArcObjects-код? Или время выполнения ArcGIS? Или ...? – HimBromBeere

ответ

2

A строка в классе геоданных базы данных или таблице будет иметь несколько связанных типов данных. Используя ваш примерный код, каждая строка будет иметь атрибут геометрии, атрибут популяции (целое число), атрибут имени города (строка) и т. Д.

Вы должны вместо этого найти тип данных каждого атрибута (поля), прежде чем пытаться получить к нему доступ, а затем иметь соответствующие условные обозначения для его обработки.

IField.Type Property (Esri reference page) может вас заинтересовать.

Смежные вопросы