Implantando aplicativos com ligações C # GDAL / OGR

8

Desenvolvi um aplicativo Web relativamente simples que usa as ligações C # OGR para executar algumas funções geométricas simples; buffer, clipe ... etc. Eu desenvolvi esse aplicativo na minha máquina local, que possui o FWTools instalado, portanto, fazer com que tudo funcione bem não foi muito difícil.

Naturalmente, quando implantei esse aplicativo no servidor, nada funcionou, sem dúvida devido a todas as dependências associadas ausentes para as ligações C #. Existe alguma maneira de incluir todos os arquivos necessários na pasta bin deste aplicativo? Ou isso é mais problemático do que vale, e devo instalar o FWTools no servidor?

user890
fonte

Respostas:

6

Se for uma instalação única, eu instalaria o FWTools e terminaria. Há várias partes móveis que você precisará trazer, incluindo arquivos GDAL_DATA, configurações de caminho e várias dependências de DLL.

Se você precisar de algo que possa ser implementado de maneira confiável em vários servidores, pode valer a pena o esforço de criar um pacote a partir de uma instalação existente do FWTools ou OSGeo4W. Outra opção pode ser usar os SDKs GDAL da Tamas, que podem oferecer algo que pode ser implantado em um único diretório.

http://vbkto.dyndns.org/sdk/

Howard Butler
fonte
Caso alguém ainda se depare com essa questão, observe que o FWTools não é mais atualizado em termos de versão GDAL / OGR. Dito isto, para muitos propósitos, tenho certeza de que os FWTools existentes ainda são úteis para muitas pessoas.
Kevin R Dyke
6

Levei isso um pouco mais longe e fiz o que Howard Butler sugere. Usando a compilação em "vbkto dot dyndns dot org slash sdk", fui capaz de executar com êxito o GDAL no .NET sem nenhuma dependência externa desagradável.

Isso exigiu que eu definisse programaticamente a configuração e algumas variáveis ​​de ambiente para o GDAL.

Eu escrevi sobre isso aqui http://bjarte.com/post/gdal-in-csharp

Editar:

O projeto DotSpatial no CodePlex possui conjuntos de 32 e 64 bits para integração ao GDAL. O código que realmente configura o GDAL pode ser encontrado aqui . Pode ser a maneira mais atualizada de integrar o GDAL no .NET, pois o projeto é muito ativo.

BjartN
fonte
BjartN, isso é realmente interessante. Estou procurando fazer o mesmo para java - idealmente, eu seria capaz de implantar o GDAL em um arquivo jar personalizado, com todas as dependências atendidas. Quais são seus pensamentos? Ou faria mais sentido seguir em frente e instalar o gdal na máquina e depois empacotar as próprias ligações?
Sam Ritchie
Sei que este é um post muito antigo, mas o link para o seu blog está quebrado. Alguma chance de você atualizar o link? Seria muito apreciado.
GeoSharp