Ich bin auf der Suche nach einer gut dokumentierten OpenSource-Bibliothek, die Shapefiles aus .Net erstellen und in diese schreiben kann. Ich benötige einen Zugriff mit niedrigerem Hebel, dh ich sollte in der Lage sein, Feature für Feature zu schreiben.
Existiert eine solche Bibliothek?
Ich habe Folgendes untersucht und festgestellt:
- SharpMap behauptet, in Shapefiles in Version 2.0 zu schreiben, diese Version wurde jedoch nicht veröffentlicht.
- NTS hat absolut keine Dokumentation.
- Catfood Shapefile Reader bietet nur Lesezugriff.
Gibt es irgendeine Hoffnung für mich? Gibt es eine Bibliothek, mit der ein neues Shapefile geschrieben werden kann?
Antworten:
Ich habe es selbst nicht benutzt, aber ich schaue mir die Dokumentation für DotSpatial schnell an. Es sieht so aus, als ob es in der Lage sein sollte, das zu tun, was Sie wollen.
In NuGet gibt es einzelne Assemblys, wenn Sie wissen, welche Sie benötigen (was ich nicht tue).
Hier ist ein Beispiel , das zumindest die Möglichkeit demonstriert. Es wäre schön, wenn es einen WKT-Reader / Konverter gäbe, um ein besser lesbares Beispiel zu erstellen, aber das scheint zu fehlen.
quelle
Ich fühle deinen Schmerz. Mit NetTopologySuite (v1.13) habe ich das Gleiche durchgemacht und bei den Unit-Tests einige Erfolge erzielt.
Zunächst sollten Sie die DotSpatial-Bibliothek überprüfen, auf die in einer ähnlichen Frage speziell für DS-Shapefile-Vorgänge verwiesen wurde
Ich persönlich bin mit der NTS-Bibliothek sehr zufrieden. Sobald Sie das Objektmodell herausgefunden haben, ist es nicht allzu aufwändig, etwas zusammenzusetzen. Da auf dieses Thema wahrscheinlich mehrmals verwiesen wird, finden Sie hier einen schnellen Code-Dump zum Schreiben von Shapefiles aus NTS.
1) Laden Sie die NTS-Binärdateien (1.13.0) herunter
2) Verweisen Sie auf die folgenden Baugruppen:
-GeoAPI, NetTopologySuite, NetTopologySuite.IO, NetTopologySuite.IO.GeoTools (raten Sie, wie lange es gedauert hat, bis Sie herausgefunden haben, dass dieser letzte Schritt erforderlich war)
3) Schreiben Sie einen Code (dies ist ein 10-minütiger Hack-Job)
Hinzufügen von using-Anweisungen für NetTopologySuite, NetTopologySuite.IO, NetTopologySuite.Features, GeoAPI, GeoAPI.Geometries
Also nicht gut dokumentiert, aber es ist ziemlich point & shoot, sobald Sie loslegen.
quelle
Sieht so aus, als hätte GDAL eine ac # -Bibliothek: http://trac.osgeo.org/gdal/wiki/GdalOgrInCsharp
quelle
Es gibt auch shapelib: http://shapelib.maptools.org/
Ein .NET-Wrapper ist auf der Webseite aufgeführt.
quelle
Sie können auch MapWinGIS in Betracht ziehen .
quelle
Feature Data Objects (FDO) führt SHP-Lese- / Schreibvorgänge über seinen SHP-Anbieter durch und verfügt über eine API für C ++ und .net
quelle
Vielleicht eine Strecke, aber ...
Mit PyShp können Sie Shapefile-Steuerelemente auf Funktionsebene oder mehr in reinem Python verwenden: http://code.google.com/p/pyshp/
Mit IronPython können Sie reine Pythin-Skripte in der .NET-CLR ausführen: http://ironpython.net/
Verwandeln Sie das IronPython-Skript in eine .Net-Bibliothek wie diesen Thread: /programming/1578010/ironpython-2-6-py-exe/9609120#9609120
quelle
Obwohl dies bereits beantwortet wurde, ist ein Vorschlag für jeden, der dies zu einem späteren Zeitpunkt betrachtet, auch EGIS (Easy GIS), mit dem Shapefiles Feature für Feature geschrieben werden können.
Dies fügt dem Shapefile der Wahl eine Funktion hinzu, und die AddRecord-Methode verfügt über 7 Überladungen.
quelle