Как добавить поле в шейп-файл с помощью DotSpatial?

Я попытался найти в Интернете пример того, как добавить поле в таблицу атрибутов существующего шейп-файла. Например, у меня есть шейп-файл в

C://data/Streets.shp

и нужно добавить два поля L_CITY и R_CITY как текст, так и ограничение в 50 символов. Как я могу сделать это в DotSpatial?


person Mona Coder    schedule 17.04.2018    source источник


Ответы (1)


Первое, что вам нужно сделать, это добавить ссылку на System.Data. В противном случае определение типа для DataTable будет недоступно, и может быть неочевидно, что можно сделать для изменения схемы.

Затем вы можете использовать стандартное программирование DataTable, например следующий код:

    public void AddFieldExample()
    {
        IFeatureSet fs = FeatureSet.OpenFile("C:\\YourShapefile.shp");
        DataTable table = fs.DataTable;
        DataColumn lCity = table.Columns.Add("L_CITY");
        lCity.MaxLength = 50;
        DataColumn rCity = table.Columns.Add("R_CITY");
        rCity.MaxLength = 50;

    }
person Ted    schedule 30.04.2018