Visualização de shapefiles 3D com Mapserver e Postgis

17

Gostaria de saber se existe uma maneira de visualizar dados 3D com o mapserver? Os arquivos .shp 3D estão no banco de dados postgis e eu já conectei o mapserver ao banco de dados, mas com uma camada simples no mapfile.

contrafluxo
fonte
Para mim, o MapServer é um servidor de mapas da web e não é possível visualizar dados 3D com ele. Com o ArcGis Explorer, sim !!
Que tipo de dados você está tentando visualizar e como deseja incluir a terceira dimensão? a resposta provavelmente não é, mas pode haver soluções alternativas, dependendo do que você está tentando fazer.
ACS
Eu só quero visualizar meu mapa hipsométrico com linhas 3d sobre ele. Algo como a função GRASS nviz.
againstflow

Respostas:

4

Um caminho a seguir pode ser deixar o PostGIS fazer a projeção em 3D. Fiz alguns testes simples há alguns meses para visualizar as próximas funções de distância 3D como ST_3DShortestLine.

O que eu fiz foi apenas usar ST_RotateX, ST_RotateY e ST_RotateZ para fazer a geometria 3D "mostrar mais do que a parte superior da câmera".

Mais elegante e eficiente seria fazer todas as transformações com ST_Affine.

Com o uso avançado dessa função, acho que também seria possível obter a visualização em perspectiva 3D.

O problema, tanto quanto tentei, é que ele está apenas girando tudo em torno do origo. Mas também deve ser possível contornar isso.

Dessa forma, você deve fazer o MapServer apresentar seus dados visualmente como 3D, mas o MapServer vê apenas uma geometria 2D plana.

Se alguém tiver sucesso com isso, estou interessado. Pensei em criar uma funcionalidade 3D falsa dessa maneira no postgisonline.org. Mas não tenho conhecimento e tempo para descobrir como as transformações devem ser feitas com ST_Affine para fornecer uma vista em perspectiva e girar em torno do centro do mapextent em vez de girar em torno do origo.

/ Nicklas

Nicklas Avén
fonte
6

O MapServer não fará nada por você. Você precisaria atualizar para a versão mais recente para ter uma chance, pois as versões anteriores acabavam com a terceira dimensão na consulta ao banco de dados. Sua melhor aposta pode ser tentar o GeoServer e o suporte KML lá e ver se você pode visualizar no Google Earth. Ou, na sua falta, escreva um pequeno script PHP para extrair seus dados do PostGIS com a função ST_AsKML () e envolva alguns estilos no caminho. Não há mágica disponível!

Paul Ramsey
fonte
3

Você pode renderizar seu mapa hipsométrico como um Hillshade e, em seguida, sobrepor as linhas 3D para ver apenas os dados 2D. Se você quiser ir mais longe, poderá usar o software de renderização 3D para projetar sombras das linhas 3D no mapa hipsométrico, o que ajudará a dar a ilusão de altura às suas linhas. Mas o próprio Mapserver não mostrará realmente as coisas em 3D

jvangeld
fonte