Я ищу хорошо документированную библиотеку OpenSource, которая может создавать и писать в шейп-файл из .Net. Мне нужен более низкий доступ к рычагу: т.е. я должен быть в состоянии написать функцию за функцией.
Существует ли такая библиотека?
Я исследовал и обнаружил следующее:
- SharpMap утверждает, что пишет в шейп-файлы в версии 2.0, но эта версия еще не выпущена.
- У НТС нет абсолютно никакой документации.
- Читатель шейп-файла Catfood предоставляет доступ только для чтения.
Есть ли надежда для меня? Есть ли библиотека, которую можно использовать для написания нового шейп-файла?
Ответы:
Я не использовал его сам, но быстро просматривал документацию по DotSpatial , похоже, он сможет делать то, что вы хотите.
Он имеет отдельные сборки на NuGet, если вы знаете, какие из них вам нужны (а я нет).
Вот пример, который по крайней мере демонстрирует возможность. Было бы неплохо, если бы был читатель / конвертер WKT, чтобы сделать его более читабельным, но этого, похоже, не хватает.
источник
Я чувствую твою боль. Я проделал то же самое с NetTopologySuite (v1.13) и с некоторым успехом посмотрел на модульные тесты.
Во-первых, вы можете проверить библиотеку DotSpatial, на которую ссылался аналогичный вопрос, специфичный для операций с шейп- файлом DS.
Я лично доволен библиотекой NTS. Как только вы выясните объектную модель, вам не составит труда собрать что-то вместе. Поскольку на эту тему, вероятно, будут ссылаться более одного раза, здесь приведен быстрый дамп кода для записи шейп-файлов из NTS.
1) Скачать бинарники NTS (1.13.0)
2) Ссылка на следующие сборки:
-GeoAPI, NetTopologySuite, NetTopologySuite.IO, NetTopologySuite.IO.GeoTools (угадайте, сколько времени потребовалось, чтобы выяснить, что требуется последний)
3) Напишите некоторый код (это 10-минутная хакерская работа)
добавить операторы использования для NetTopologySuite, NetTopologySuite.IO, NetTopologySuite.Features, GeoAPI, GeoAPI.Geometries (извините, я не могу понять, как получить SO для их форматирования)
Так что, не очень хорошо документировано, но это справедливо, если вы начнете.
источник
Похоже, у gdal есть библиотека ac #: http://trac.osgeo.org/gdal/wiki/GdalOgrInCsharp
источник
Также есть shapelib: http://shapelib.maptools.org/
Оболочка .NET указана на веб-странице.
источник
Вы также можете рассмотреть MapWinGIS .
источник
Feature Data Objects (FDO) выполняет чтение / запись SHP через своего поставщика SHP и имеет API для C ++ и .net
источник
Может быть, натянуто, но ...
PyShp предоставляет вам управление шейп-файлом на уровне объектов или более в чистом Python: http://code.google.com/p/pyshp/
IronPython позволяет запускать чистые сценарии Pythin в .NET CLR: http://ironpython.net/
Превратите сценарий IronPython в библиотеку .Net, такую как этот поток: /programming/1578010/ironpython-2-6-py-exe/9609120#9609120
источник
Хотя на этот вопрос уже был дан ответ, для тех, кто просматривает его позднее, также предлагается EGIS (Easy GIS), который позволяет шейп-файлам записываться по элементам.
Это добавляет одну особенность к выбранному шейп-файлу, а метод AddRecord имеет 7 перегрузок.
источник