Então, estou começando recentemente em uma nova empresa e tenho muitos usuários do ArcGIS que parecem realmente interessados em avançar com uma instância do PostGIS para fornecer alguns dados aos nossos clientes. Embora eu não tenha problemas com isso, somos uma loja 95% SQL Server e 5% Oracle. Nosso GIS interno atual é executado no SQL Server e ainda não ouvi nenhuma reclamação.
Eu sei que o SQL Server tem muitos recursos espaciais/geométricos aprimorados a partir de 2012, mas há algum recurso matador no PostGIS que vale a pena entrar na nova plataforma? Eu tentei pesquisá-lo, mas não consigo encontrar nada realmente profundo ou que não seja completamente tendencioso.
Eu quero dar a eles as melhores ferramentas para fazer seu trabalho, mas também tenho que pesar o fato de que estarei aprendendo Postgres/GIS desde o início e isso é uma jornada inteira por si só.
Já trabalhei com Postgres e SQL Server. Achei o Postgres superior em funcionalidade GIS. E enquanto vou detalhar brevemente minhas descobertas abaixo, sugiro o seguinte: dê a si mesmo um período de tempo breve, mas razoável, para revisar a solução desconhecida em vez da que você conhece, com objetivos específicos em mente. Por exemplo, talvez um período de 2 semanas para instalar e aprender alguma funcionalidade específica que está em uso no momento. Se você achar que está travado ou sem funcionalidade dentro desse período de tempo, sabe que não é para você. É um investimento em pesquisa que amplia sua visão e ajuda você a perceber que pode ter perdido algo que não sabia antes, ou simplesmente confirmar que seu curso atual é o certo agora.
No que diz respeito ao banco de dados, descobri que o Postgres tem uma curva de aprendizado mais curta e superficial. A documentação é simplesmente incrível. O SQL Server tem um pouco de documentação, mas acho muito difícil de ler, com exemplos e tutoriais insuficientes.
PostGIS vs SQL Server Spatial é semelhante ao anterior em relação à documentação, mas o PostGIS supera o SQL Server Spatial em funcionalidade. Por exemplo, o Google Maps e, em menor grau, o Bing Maps, recentemente adicionaram suporte completo a geoJSON à sua API de mapas. Bem, o PostGIS pode retornar facilmente um resultado geoJSON diretamente de uma consulta ao banco de dados usando ST_AsGeoJSON() . Esse resultado geoJSON pode ser passado diretamente para qualquer pessoa que possa entender geoJSON. O SQL Server exige que você use biblioteca e processamento adicionais ou use ogr2ogr. Além disso, o PostGIS tem mais de 300 funções disponíveis para conversão de dados dentro e fora do banco de dados, em comparação com o SQL Server, que tem cerca de 70-100.
Tendo trabalhado com os recursos GIS de ambos os sistemas, sugiro o seguinte:
Parece-me que qual banco de dados é melhor não é sua principal preocupação aqui e, em vez disso, você tem duas considerações diferentes que se opõem, ou seja, conhecimento comercial versus desejos do cliente. Em última análise, essa será uma decisão de negócios, não uma decisão técnica.
Obviamente, há um custo de oportunidade, como Max observou em um comentário. Não há jeito de contornar isso. Se você estiver seguindo a rota do Postgres, considere obter alguma ajuda, na forma de um bom contrato de consultoria, um dba experiente ou ambos.
Se seus usuários quiserem o PostGIS, isso pode ser uma vitória líquida. Quanto mais de seus serviços você venderá fazendo a troca? Valerá a pena em termos de custo de oportunidade? Essas não são decisões que serão tomadas com base em qual db é melhor aos seus olhos ou em termos de especificações técnicas, mas em termos de curva de aprendizado e marketing.