Sou programador de longa data, novo no GIS. Estou tentando entender os aspectos do banco de dados do GIS e entendo que existem alguns bancos de dados especializados para uso do GIS. Basicamente, estou tentando entender se deve usar esse banco de dados ou ficar com o MySql extremamente popular, bem estabelecido, amplamente suportado (e gratuito).
Os tipos de aplicativos que eu sou capaz de codificar seriam:
- gestão de frotas (veículos terrestres ou oceânicos)
- rastreamento de funcionários
- controle de inventário (em uma granularidade de uma posição física precisa com um metro ou mais)
- errm, é isso, realmente
Normalmente, eu esperaria não rastrear mais do que algumas centenas (no máximo, possivelmente alguns milhares) de itens. Às vezes, os itens estarão localizados no mesmo edifício (grande), série de edifícios, cidade, país ou em todo o mundo, dependendo da aplicação.
Ocasionalmente, eu os representarei visualmente na planta baixa de um prédio ou, mais provavelmente, no Google Earth ou similar (mais dos quais em outra pergunta).
Parece-me que estou bem com o MySql e adicionando colunas para dados de latitude / longitude ou outros dados posicionais, mas isso pode ser apenas porque eu conheço o MySql.
Existe alguma razão para eu procurar um banco de dados mais especializado?
Você certamente deve considerar o PostGIS extremamente popular, bem estabelecido, amplamente suportado (e gratuito) . Ele fará tudo que o MySQL puder fazer e manipular localizações espaciais como objetos de primeira classe. Assim, você pode realizar seleções com base em pontos em uma caixa delimitadora (ou outro polígono) sem precisar escrever todas as comparações, etc.
Depois que você começar a fazer perguntas como quais objetos estão em qual país (ou prédio), o PostGIS realmente se destaca e, se você decidir mapear seus objetos, todas as ferramentas populares de código aberto falarão com o PostGIS a Caixa.
fonte
Para adicionar às respostas e reiterar alguns pontos, é usado um banco de dados ativado espacialmente, se você tiver consultas relacionadas às relações espaciais dos dados, algumas das quais são as seguintes:
Se essas consultas relacionadas a WHERE forem um recurso significativo para um aplicativo, geralmente é altamente recomendável usar um banco de dados espacial.
Obviamente, pode-se recorrer à lógica de codificação / aplicativo para algumas dessas consultas, como usar a fórmula de distância para 1, mas não é necessário reinventar a roda.
fonte