Sobre o projeto
jpmap_terrain é um projeto front-end que constrói representações de terreno 3D no Babylon.js com base nos dados de elevação dos tiles do Instituto Geográfico do Japão (GSI). Implementado em TypeScript, é distribuído como pacote npm jpmap-terrain, acompanhado de arquivos ESM e de definição de tipos (.d.ts), sendo @babylonjs/core uma dependência peer.
Existem duas APIs públicas principais. A primeira, JpmapTerrain, monta-se em qualquer elemento DOM para incorporar um visualizador de terreno 3D, com suporte para seleção do motor WebGPU/WebGL2, especificação de latitude/longitude, altitude, azimuth e elevação, movimentação de câmera via flyTo, alternância de bússola, etc. Os tipos de mapa podem ser alternados entre mapa padrão e foto aérea. A segunda, JpmapDiorama, é uma API que exibe o terreno como um quadrado em miniatura "caixa de areia", compatível tanto com navegadores web padrão quanto com sessões WebXR (immersive-ar), permitindo a entrada em sessão AR em ambientes compatíveis.
O portal de demonstrações inclui 17 exemplos, como visualizador de terreno 3D, time-lapse (animação de posição solar e sombras), loop de zoom, órbita ao redor do topo do Monte Fuji, verificação de APIs de polígonos/círculos, medição de distância, visualizador de arquivos .plan do QGroundControl, visualizador GPX (com estatísticas e gráfico de elevação), posicionamento de modelos 3D, animação de avatar, simulação de multidão Boids, demonstração de voo, jogo de artilharia competitivo usando física Havok, globo terrestre, diorama de caixa de areia, entre outros.
A pilha tecnológica é TypeScript / Babylon.js / Vite (para demonstrações) / tsdown (para build da biblioteca) / Playwright (Teste de Regressão Visual) / Vitest (testes unitários). O servidor de desenvolvimento inicia com hot reload, e uma configuração de distribuição do site de demonstração usando Docker/Nginx também é fornecida. Por meio de parâmetros de URL, é possível alternar o motor de renderização, o tipo de mapa, o modo de exibição 2D/3D e especificar a posição da câmera no formato de caminho de latitude/longitude compatível com o Google Maps. A licença é Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.