orangeadam3 / terra121

A Minecraft Terrain Generating Mod for Cubic Chunks 1.12.2. attempting to generate real terrain, biomes, and features on a 1:1 scale
MIT License
280 stars 41 forks source link

[Suggestion/Help] Higher Resolution Terrain Data at Small Scales #89

Open jake6597 opened 4 years ago

jake6597 commented 4 years ago

Hi. I was wondering if there's a way to utilize high resolution terrain data in select areas in place of the data currently being used. For example, several cities near me have freely available 1-meter resolution DEMs (in individual tiles), which would provide accurate elevation for every block, albeit being rounded. Obviously, this data can be fairly heavy, but I'm curious if there would be a way to implement it on smaller scales. Thanks.

LexSong commented 4 years ago

I think it's a little too much to include every high-resolution DEM into a single mod.

Could we implement another program to generate the map chucks and import them into the game where the builders want? It will be much easier to convert all different map projections with suitable programming languages and libraries instead of reimplementing them with Java.

orangeadam3 commented 4 years ago

The AWS Jored terrain tries tries to mash different datslasets together, but it's hard to tell what the max zoom is. I choose 13 because most areas didn't get much more detailed and the more resolution, the more internet usage.

jake6597 commented 4 years ago

@orangeadam3 Right - it would be unreasonable to ask this to be implemented into the data source of the main mod. Is there any way to configure the data source in a single mod installation such that it can reference specific data, but only for that instance? It's my understanding that some people are working on an API to generate building shells for the New York area - could this same methodology be used for terrain? Thank you for your response. This mod really is an incredible feat and I understand if you are busy.

orangeadam3 commented 4 years ago

Probably poosible if you predownload data. I probably don't have time for this but someone could look into forking or pulling to implement.

jake6597 commented 4 years ago

@orangeadam3 Okay. Is there anyone I should reach out to in particular? Thanks again

Edit: I'm familiar with GIS, so I know at least where to find and how to process DEM tiles into raster files. I might be able to figure out how to automatically download and stitch the data too, if many others have an interest.

jake6597 commented 4 years ago

The AWS Jored terrain tries tries to mash different datslasets together, but it's hard to tell what the max zoom is. I choose 13 because most areas didn't get much more detailed and the more resolution, the more internet usage.

@orangeadam3 Did you mean that the resolution that the mod uses is 13 meters? If not, what is the resolution in meters?

orangeadam3 commented 4 years ago

The dataset is in the mercator projection so it doesn't have exact paralels to meters. It's roughly 30 meters tho. Every zoom level is twice as precise as the last with zoom 0 being one 256x256 image for the whole planet.

jake6597 commented 4 years ago

@orangeadam3 Ok that's good to know, I figured it was about that much. This image explains why I want to make this happen: comparison_1 The contours are 1-meter, so what would be seen in the game if the data were full resolution. Thanks again

jake6597 commented 4 years ago

I had another idea - if the DEMs were preprocessed to round to the meter, would that speed things up enough to justify integrating this into the official mod?

AidanLovelace commented 4 years ago

What if y'all added functionality (in a command or something) to read a DEM file in some standard format and apply it to an area? Maybe confirm the player wishes to overwrite the chunks it'd concern and just regenerate the chunks with the new data?

Tysseract commented 4 years ago

TL;DR: I'm going to try to take a crack at this but no guarantees

@jake6597 I don't have any experience yet modding Minecraft but I did have a data structures class in Java and it looks like @orangeadam3 made it really easy to setup/build on IntelliJ and after staring at the code for a few hours I think I figured out how roughly how heights.java works. It would be really nice in my area to have the 1m resolution from USGS (which looks to be public domain and much more accurate/updated than AWS) so I'll try to take a crack at it... I'm thinking something along the lines of having an optional folder that you can put the raster/deb file in (with the name being the x/y or long/lat), which the mod checks for before going to AWS?

jake6597 commented 4 years ago

@Tysseract Okay that sounds great! A group of us have a Discord server where we've been discussing the implementation of this, if you'd like to join for further discussion: https://discord.gg/X9KHWD