Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Please could you explain a little how you did this for people not familiar with such things as 3D and maps? What would someone have to do, to create this for another part of the world? What is NASADEM and LINZ?


Gladly:

- Procedural GL (https://github.com/felixpalmer/procedural-gl-js) is a JavaScript library for rendering 3D terrains. It is built on top of THREE.js but you don't need to know anything about 3D to use it - a high-level API is provided. The software is open source, but of course you need to supply it with source data, for it to be useful. In particular you need elevation data to give you the shape of the terrain, and aerial imagery to give the color on the terrain.

- NASADEM is an elevation dataset published by NASA and integrated into this library via the https://www.nasadem.xyz/ service. You don't need to understand how this works, all you need is an API key. A free tier is available.

- LINZ is a (incredible and free) basemap provided by the New Zealand government: https://basemaps.linz.govt.nz/. Integrating with Procedural GL was just a matter of configuing the URL for the tiles and adding an API key. Note it is New Zealand only, by default Procedural GL uses www.maptiler.com/ (again a free tier is available)

As for what one would need to do make this for another part of the world:

1) Fork https://github.com/felixpalmer/new-zealand-3d 2) Update the locations of interest in https://github.com/felixpalmer/new-zealand-3d/blob/main/park... 3) Optionally change the imagery datasource (Maptiler, Mapbox etc) [don't forget attribution] 4) Profit


To clarify slightly, LINZ is Land Information New Zealand, a government agency. They provide an enormous amount of map data on NZ under a creative commons license: vector data, address info, aerial photography (including multiple versions over time), satellite data, etc.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: