Usando o OpenLayers (com o OpenStreetMaps) e o PostGis para renderizar dados adquiridos do dispositivo de rastreamento GPS?

7

Estou pesquisando e planejando adquirir dados do dispositivo GPS e armazená-los no banco de dados postGIS, depois uso o geodjango para processá-los / resolvê-los e, finalmente, fazer um mapa deles em um mapa com o OpenLayers.

Essas tecnologias serão suficientes para o meu plano, já que não quero meus mapas, quero usar o OpenStreetMap e plotar meus pontos na camada vetorial de um OpenLayers.

Também quero implementar o rastreamento em tempo real em um mapa, consultarei o banco de dados PostGIS em tempo real usando AJAX e depois recriar objetos em um mapa. Eu simplesmente não consigo encontrar bons exemplos para fazer isso com o OpenLayers. Posso usar o Jquery para isso e combiná-lo com o OpenLayers, pois sou bom em usar os métodos AJAX do Jquery.

PS Lembre-se de que ainda estou pesquisando essas tecnologias, mas o OpenLayers / geodjango / postGIS parece ser uma ótima combinação para minhas necessidades. Encontrei literatura para quase tudo o que me interessa nesses 3, só que me falta os exemplos de gráficos em tempo real e atualização de objetos na camada vetorial do OpenLayers.

TIA

D00de
fonte

Respostas:

5

Confira o exemplo de rotação dos recursos OpenLayers.

Mover um recurso funciona da mesma maneira, mas usando mover , por exemplo:

var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry");
// create a point feature
var point = new OpenLayers.Geometry.Point(-110, 45);
pointFeature = new OpenLayers.Feature.Vector(point, null, style_blue);

map.addLayer(vectorLayer);
map.setCenter(new OpenLayers.LonLat(point.x, point.y), 5);
vectorLayer.addFeatures([pointFeature]);

// move the point one unit up and redraw            
window.setInterval(function() {
    pointFeature.geometry.move(0, map.getResolution() * 1);
    pointFeature.layer.drawFeature(pointFeature);
}, 100);
diciu
fonte
Obrigado pela sua resposta. É útil e, enquanto isso, encontrei exemplos de combinação do Jquery com o OpenLayers, agora tentarei trabalhar com alguns exemplos.
D00de
4

Estratégia de filtro temporal

Exemplo

Outro caminho a seguir é usar uma estratégia de filtro temporal (filtro por tempo). Mas primeiro você precisará dos dados expostos no formulário de serviço da web OGC.

Como você ainda está pesquisando essas tecnologias, pode perceber que será benéfico usar algo como GeoServer ou MapServer entre o PostGIS e o OpenLayers. Isso é para que seus dados PostGIS possam ser expostos como serviços da Web nos Padrões OGC, como WFS, WMS etc. O OpenLayers pode tirar proveito disso de várias maneiras e você me agradecerá mais tarde.

Depois de expor seus dados por meio de um servidor de mapas como o GeoServer, você poderá usar a estratégia de filtro temporal .

CaptDragon
fonte
Este é um comentário realmente útil. Como ainda estou na fase de pesquisa e leitura, ainda não consigo ver os benefícios do uso do mapserver entre o OpenLayers e o PostGIS. Estou adotando a maneira mais fácil de mapear dados diretamente do PostGIS para o OpenLayers. Agora estou tentando colocar o servidor de mapas entre eles para que eu possa aprender os benefícios que podem ser úteis mais tarde. E você está certo, provavelmente terei que agradecer mais tarde quando aprender os recursos do servidor de mapas.
D00de
Sem problemas. Uma outra coisa: eu acredito que o Geoserver é mais fácil de instalar e configurar do que o mapserver, se você quiser experimentá-lo.
CaptDragon
Ontem li sobre Geoserver, mapserver, featureServer e tilecaching. Eu estava tentando encontrar vantagens óbvias de usar o mapserver entre meu front-end e back-end, mas não consegui encontrá-los. Meu aplicativo funcionará como um rastreador GPS comum; portanto, seus recursos básicos serão desenhar objetos, traçar caminhos, mover objetos e outras tarefas simples de mapeamento. Eu estava planejando usar o OSM como uma camada base na minha interface do OpenLayers, e lá tenho uma camada vetorial acima, onde posso mapear os vários objetos. Ainda não consigo prever qual seria o benefício do servidor de mapas no meu aplicativo de rastreamento.
00000000 D00de
Bem, não há razão para adicionar outra camada de complexidade, se você não precisar. Especialmente se você estiver usando o PostGIS. É muito bom retornar GML, KML, WKT e tipos de formatos.
CaptDragon