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.


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


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!


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.