Estou procurando uma biblioteca OpenSource bem documentada que possa criar e gravar em um shapefile a partir do .Net. Preciso de acesso mais baixo à alavanca: ou seja, eu devo escrever recurso por recurso.
Existe uma biblioteca desse tipo?
Eu investiguei e encontrei o seguinte:
- O SharpMap afirma gravar nos shapefiles na versão 2.0, mas essa versão não foi lançada.
- O NTS não tem absolutamente nenhuma documentação.
- O leitor de shapefile do Catfood fornece acesso somente leitura.
Há alguma esperança para mim? Existe uma biblioteca que pode ser usada para escrever um novo shapefile?
Respostas:
Eu não o usei, mas olhando rapidamente para a documentação do DotSpatial , parece que ele deve poder fazer o que você deseja.
Ele possui assemblies individuais no NuGet, se você sabe quais deles você precisa (o que eu não).
Aqui está uma amostra que pelo menos demonstra a possibilidade. Seria bom se houvesse um leitor / conversor WKT para criar uma amostra mais legível, mas isso parece estar faltando.
fonte
Eu sinto sua dor. Passei pelo mesmo tipo de coisa com o NetTopologySuite (v1.13) e tive algum sucesso ao examinar os testes de unidade.
Primeiro, você pode conferir a biblioteca DotSpatial que foi referenciada em uma pergunta semelhante específica das operações do shapefile do DS
Pessoalmente, estou feliz com a biblioteca do NTS. Depois de descobrir o modelo de objeto, não é muito difícil juntar algo. Como esse tópico provavelmente será mencionado mais de uma vez, aqui está um rápido despejo de código para escrever shapefiles do NTS.
1) Faça o download dos binários NTS (1.13.0)
2) Faça referência aos seguintes conjuntos:
-GeoAPI, NetTopologySuite, NetTopologySuite.IO, NetTopologySuite.IO.GeoTools (adivinhe quanto tempo levou para descobrir que este último era necessário)
3) Escreva algum código (este é um trabalho de invasão de 10 minutos)
adicione instruções using para NetTopologySuite, NetTopologySuite.IO, NetTopologySuite.Features, GeoAPI, GeoAPI.Geometries (desculpe, não consigo descobrir como fazer com que o SO os formate)
Portanto, não está bem documentado, mas é preciso apontar e disparar quando você começar.
fonte
Parece que gdal possui uma biblioteca de # #: http://trac.osgeo.org/gdal/wiki/GdalOgrInCsharp
fonte
Há também shapelib: http://shapelib.maptools.org/
Um wrapper .NET está listado na página da web.
fonte
Você também pode considerar o MapWinGIS .
fonte
O Feature Data Objects (FDO) faz leitura / gravação em SHP através de seu provedor SHP e possui uma API para C ++ e .net
fonte
Talvez um trecho, mas ...
O PyShp oferece controle de shapefile em nível de recurso ou mais no Python puro: http://code.google.com/p/pyshp/
O IronPython permite executar scripts Pythin puros no .NET CLR: http://ironpython.net/
Transforme o script IronPython em uma biblioteca .Net, como este thread: /programming/1578010/ironpython-2-6-py-exe/9609120#9609120
fonte
Embora isso já tenha sido respondido, uma sugestão para quem visualiza isso posteriormente é também o EGIS (Easy GIS), que permite que os arquivos de forma sejam escritos recurso por recurso.
Isso adiciona um recurso ao shapefile de escolha e o método AddRecord possui 7 sobrecargas.
fonte