2024-02-22 16:46:45 +01:00

2.5 KiB

Utils for map creation, conversion, 3d models and related stuff


  • EVERY SCRIPT THAT USES REDIS IS JUST AS REFERENCE (node-redis and keys update and change over time and i am not keeping those up-to-date)
  • we use blender 2.8
  • js script are executed with npm run babel-node utils/[scriptname].js


This blend file includes the sphere we use to display the globe with two UV maps, one for protection like it's used on many globe textures of the earth like here and here and one for our mercator projection that is the same as on OpenStreetMap, with additional changes for poles. The shader nodes in the bumpmap material are setup so that they bake from one uv map to another, you might have to remove all other materials and set the correct origin textures for it to bake.

If you want to generate the .glb model file for the site thats in public/globe/globe.glb:

  1. delete all materials of the sphere
  2. delete the "fake-mercator" uv map, so that just the mercator one is left
  3. create a new one without textures
  4. name the material "canvas" (this will then be set by the script to the canvas textures)
  5. select the sphere and export as .glb


Used to generate tiles based on a uv texture that can then be drawn on the canvas, like the oceans and continents.


Generates a json list of country codes and their coordinates on the canvas based on lat and lon


Script to move canvas chunks, i.e. for resizing canvas


downloads an area of the canvas into a png file. Usage: areaDownload.py startX_startY endX_endY filename.png (note that you can copy the current coordinates in this format on the site by pressing R) Requires: aiohttp, asyncio and PIL python3 packages


downloads the history from an canvas area between two dates. Useage: `historyDownload.py canvasId startX_startY endX_endY start_date end_date This is used for creating timelapses, see the cmd help to know how Requires: aiohttp, asyncio and PIL python3 packages


center logo of pixelplanet


just a script that got run once to add the missing tiles in historical view when increasing the size of the moon canvas.


used to test our own connect-redis fork in src/utils/connectRedis.js