Во-первых, вот как вы можете использовать DotSpatial для добавления точки и атрибутов в существующий шейп-файл.
[TestMethod]
public void AddPoint()
{
Shapefile shp = Shapefile.OpenFile(@"D:\Data\Temp\CatPoints.shp");
IFeature cat = shp.AddFeature(new Point((new Coordinate(-119, 39))));
cat.DataRow["Name"] = "Leopard";
cat.DataRow["Longitude"] = -119.0000;
cat.DataRow["Latitude"] = 39.0000;
shp.Save();
}
Важно отметить, что документы карты (файлы .mxd) не хранятданные, поэтому обновление шейп-файла (.shp) автоматически обновит содержимое вашей карты.Если ваш вопрос касается того, как создать шейп-файл, используя значения долготы и широты, вот пошаговое руководство по созданию шейп-файла, а затем сохраните его как карту.Если у вас уже есть шейп-файл, вы можете перейти к шагу 5.
Предположим, у вас есть начальная широта и долгота в существующем источнике данных, таком как файл excel.
1) Добавьте данные, используя кнопку добавления данных, перейдя к файлу Excel и выбрав лист Excel.
2) Щелкните правой кнопкой мыши слой «Лист1 $» в оглавлении и выберите «Отобразить данные XY» ...
3) Долгота и широта должны заполняться автоматически как поля X и Y.Вы должны использовать кнопку редактирования и выбрать Географические системы координат -> Мир -> WGS1984 в качестве Системы координат для широты и долготы.(Убедитесь, что ваша долгота отрицательная, если вы находитесь в западном полушарии, например в Соединенных Штатах.).Нажмите Ok.
4) Щелкните правой кнопкой мыши по вновь созданному слою Sheet1 $ Events и выберите Data-> Export Data ..., чтобы экспортировать этот слой как шейп-файл.Оставьте выбранный параметр «Все функции», а затем укажите имя, которое заканчивается на «.shp».Это важно.Если вы сохраните файл в персональной базе геоданных или в файловой базе геоданных, DotSpatial не сможет обновить ваш контент позже.Нажмите ОККогда он спросит, хотите ли вы добавить вновь созданный шейп-файл на карту, выберите «Да».
5) Затем вы можете добавить базовую карту кфон, используя функцию Файл-> Добавить данные-> Добавить базовую карту.Нажмите на тип базовой карты, которую вы хотите добавить.
6) Чтобы добавить любые другие существующие шейп-файлы (или, если у вас уже был существующийшейп-файл, который вы хотите использовать для создания карты), используйте кнопку добавления данных, которая является кнопкой в виде кружка плюс над изометрическим видом желтого квадрата.
7) Сохраните свою карту.Это важная часть.Любые ваши слои могут быть сохранены в ArcGIS как документ «Карта».Это не хранит сами данные, а просто указывает на шейп-файл.Поэтому, когда вы вносите изменения в шейп-файл в DotSpatial, эти изменения появятся на вашей карте.
8) Я не уверен, будет ли ArcGIS автоматически получать изменения в SHP, если она уже открыта в пользовательском интерфейсе.Возможно, вам придется закрыть карту и снова открыть ее в ArcGIS, чтобы увидеть ваши новые точки.