nonta1234 / terraining-heightmap-generator

Terraining - Online heightmap generator for "Cities: Skylines".
MIT License
28 stars 4 forks source link

[Feature Request] Support for MapTiler #17

Open TheBango opened 3 months ago

TheBango commented 3 months ago

I would like to try out your heightmap generator, but unfortunately, Mapbox asks for credit card data to be able to create a "free" account. Since I don't own a credit card nor will I ever get one, especially if a company or third person forces me to do that, I would appreciate it if you would also add support for terrain data provided by MapTiler. As far as I know, they don't want you to add payment data to be able to create an account and to use their free tier (at least this was the case when I created an account there 2 years ago).

nonta1234 commented 3 months ago

MapTiler's Terrain-rgb maximum zoom level is 12, which is much lower than Mapbox. Also, most of the code relies on Mapbox, which is difficult to accommodate. I think it will be almost a rewrite. I would be happy if someone would fork out and respond.

TheBango commented 3 months ago

Hi and sorry for the late reply. I understand if implementing support of MapTiler leads in too much work, but I guess that not only I, even though I was able to create a Mapbox account in the meantime, would appreciate it if someone can help you to get it done.

delebash commented 3 months ago

You did a really nice job on the rewrite and adding features. I used city skylines as a base for my app generating heightmaps for unreal engine. I added maptiler to my app and it was not too much work. If I get some time I will see if I can add it. If you want to check it out you can get it here. https://github.com/delebash/unreal_map_bridge

nonta1234 commented 3 months ago

Very interesting. Thanks for sharing.

delebash commented 2 months ago

I gave it a shot at adding Maptilier but I had problems because of typescript and everything being strongly typed. I am not that familiar with typescript so I could not get it to adapt easily. I tried use the useMapbox class and do an if statement for the createMapInstance function and return either a Maptilier Map or Mapbox Map object but this is where I ran into typescript issues. From a javascript perspective the Mapbox gl gs Map object and the Maptiler sdk Map object are the same from the standpoint of all the events and methods that we use in the app, such as addSource and map.on(). With a few tweaks such as changing the url's for styles and downloads it is fairly easy to define a Map variable and set it to use either the Maptilier or Mapbox Map object. The only other issue would be how the Map controls Icontrols are defined in Mapbox vs Maptilier.

delebash commented 2 months ago

MapTiler's Terrain-rgb maximum zoom level is 12, which is much lower than Mapbox. Also, most of the code relies on Mapbox, which is difficult to accommodate. I think it will be almost a rewrite. I would be happy if someone would fork out and respond.

Looks like the most recent version goes up to zoom level 14

https://www.linkedin.com/posts/maptiler_the-new-version-of-maptilers-terrain-rgb-activity-7152691339527172096-Yvba

nonta1234 commented 2 months ago

If the zoom level is 14 and the resolution is 512px, the quality is the same as Mapbox. If I have a chance, I will look into MapTiler.