Sou usuário de longo prazo do software ESRI e agora preciso usar o software livre e de código aberto.
Eu tenho lido sobre OpenLayers, PostgreSQL, PostGIS, GeoServer e MapServer, mas não consigo encontrar uma boa visão geral informando o que cada produto faz, por que é necessário e como eles se encaixam.
Por exemplo, http://www.osgeo.org/ e http://freegis.org/ listam vários produtos, mas não fornecem informações suficientes para que eu decida quais são relevantes.
No ArcGIS, eu usaria o seguinte:
- geodatabase de arquivo ou geodatabase ArcSDE para armazenamento de dados
- ArcMap desktop para editar os dados e compilar o documento do mapa
- ArcGIS Server para criar serviços da web
- API JavaScript do ArcGIS Server para criar os mapas do usuário final a partir dos serviços da web
Quais são os produtos FOSS equivalentes?
open-source-gis
Stephen Lead
fonte
fonte
Respostas:
Para armazenar os dados , as duas primeiras alternativas a serem mencionadas são PostGIS e SpatiaLite .
O SpatiaLite é um banco de dados SQLite com recursos espaciais, o que significa que é baseado em arquivo, compacto e rápido.
O PostGIS é uma capacidade espacial em um banco de dados PostgreSQL. Isso significa que é muito poderoso, com capacidade para lidar com grandes conjuntos de dados, consultas complexas de maneira eficiente.
Antes de ir para a área de trabalho, lembre-se de que muitas tarefas podem ser executadas com muita eficiência diretamente no banco de dados. Na maioria das coisas que você costuma fazer no ArcMap, aguardando a exibição de diferentes caixas de diálogo, você fará muitas vezes mais rápido diretamente com algumas linhas de código SQL. Isso significa que você também pode armazenar o que fez e fazê-lo novamente em outro conjunto de dados com muita facilidade, apenas salvando seu código SQL. Muitas das perguntas do PostGIS aqui são sobre como escrever essas consultas, para que você possa ter uma idéia do que pode ser feito navegando nas perguntas marcadas no PostGIS.
Então o lado da área de trabalho . Existem muitas soluções de desktop. Acho que é hora de admitir que a ESRI é boa para o desktop . Como dito anteriormente, a maioria das tarefas que você realiza no ArcMap é melhor executada mais profundamente no banco de dados, mas quando se trata de tarefas nas quais você precisa da solução para desktop, o ArcMap é bom. O que eu uso é o QGIS , e se eu tivesse um orçamento para gastar, moveria os custos da licença ESRI para dar suporte à correção de erros no QGIS. O QGIS é um ótimo software que pode fazer mais ou menos tudo o que o ArcMap pode. Mas talvez uma ou duas licenças ArcInfo (em dinheiro) sejam necessárias para polir. Você também pode dar uma olhada no Open Jump , GvSIG , uDIG e mais.
Quando se trata de serviços da Web, você possui o MapServer, GeoServer, TinyOWS e muito mais.
O GeoServer é provavelmente o mais fácil de começar, pois possui uma interface da web bastante intuitiva. O GeoServer pode fazer a maioria das coisas que você deseja. Pode servir serviços WMS WFS lado a lado e assim por diante. Está tudo escrito em Java.
O MapServer está escrito em C e acho justo dizer que é o rei dos serviços WMS. Pelo menos, ganhou o tiroteio do ano passado na conferência FOSS4G (a ESRI não se atreveu a participar). O Mapserver é configurado através de um "arquivo de mapa" e não conheço nenhuma interface gráfica. Mas para serviços sérios de WMS, é uma alternativa muito interessante.
Para serviços wfs editáveis, você mencionou o GeoServer antes, mas também o TinyOWS . O TinyOWS é um pequeno servidor wfs escrito em C. Ultimamente tem sido mais integrado ao Mapserver, pois você pode usar o mesmo arquivo de mapa para ambos.
Em seguida, o lado do cliente na web . Não sei muito sobre todas as possibilidades, mas a maioria das soluções é criada de uma maneira ou de outra no OpenLayers, que é uma biblioteca Javascript.
Mudar do mundo da ESRI, acho que abre outra possibilidade muito importante para você. Se quiser, você também pode se afastar da plataforma Windows. Você pode colocar tudo em qualquer distribuição Linux.
O software mencionado acima, juntamente com o Linux, reduzirá muito a necessidade de hardware.
Um exemplo de software FOSS que funciona bem é o mapa de Norgeskart , da autoridade oficial de mapas da Noruega.
No fundo, eles usam o PostGIS servindo o Mapserver. Armazenando em cache blocos no Geowebcache e usando um cliente baseado em OpenLayer na parte superior. Não é chamativo como uma solução Silverlight , mas isso também é possível.
Eles usaram o software ESRI antes, mas tiveram que deixar isso quando suas necessidades aumentaram em termos de capacidade e velocidade.
fonte
Nicklas já apontou os pacotes de código aberto mais populares. Se você estiver interessado em um acoplamento mais próximo de GIS de desktop e servidor, convém dar uma olhada no QGIS.
Semelhante à configuração que você descreveu para o ArcGIS, existe uma configuração para o QGIS:
fonte
Falando da perspectiva do que uso no dia-a-dia (embora isso seja colorido pelo meu envolvimento na maioria dos projetos):
PostGIS, SQLite e Shapefiles, na ordem do melhor banco de dados para o formato mais portátil.
QGIS para operações espaciais, o TileMill para compilar o documento do mapa (supondo que você queira dizer o documento do mapa como em estilos, combinação de fontes de dados etc.)
TileStream para veicular mapas gerados a partir de TileMill ou TileStache para renderização ao vivo. No entanto, muitos grupos estão seguindo o caminho de gerar mapas em vez de servir ao vivo, dada a experiência de manter os servidores on-line e com rapidez.
Folheto, se você quiser evitar o desenvolvimento extra. TurfJS para tarefas de análise no navegador.
fonte
A pilha pode ser instalada no site postgresql com o instalador da pilha.
A solução mais simples é instalar uma pilha LAPP com o Postgresql, contendo um banco de dados Post GIS e talvez um servidor tomcat que chame Apache. Na última parte, você precisaria de um nome de domínio ou o seu provedor de serviços de Internet servirá dados para a Web a partir do servidor.
Instale o QGIS para uma interface gráfica agradável com funcionalidade decente do aplicativo e conecte-o ao seu contêiner Post GIS. Funciona bem sem o apache e o tomcat para intranets.
Você precisaria desenvolver um aplicativo usando a raiz da web da instalação do apche para veicular pela Internet, a menos que esteja baseado na nuvem.
Desenvolver em um navegador como um cliente que pode ser chamado no navegador é mais intensivo em desenvolvimento e requer algo como Open Layers e ou Mapfish. Essa é a maneira menos dolorosa e também existem muitas outras opções e considerações.
Para a área de trabalho, isso funciona bem, menos Mapfish e Open Layers.
Aqui está o que parece, logicamente. Post GIS> Postgresql> Geoserver> QGIS> Tomcat> Mapfish
fonte