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.