Skip to content
This repository has been archived by the owner on Jan 9, 2023. It is now read-only.

Looking to fork google earth to be able to change earth's radius and overlays with time (millions of years) #1867

Open
dehilsterlexis opened this issue Nov 20, 2020 · 5 comments

Comments

@dehilsterlexis
Copy link

We are a group of geologists, scientists, engineers and computer programmers who are looking to fork the google earth software to modify it in order to be able to change the earth's radius with time and be able to plot flora and fauna and geological information on it. For example, 200 million years ago the earth's diameter was about half the size. We want to be able to change the time on the model and therefore the radius and its overlays. This will allow many scientists around the world to see new relationships in geology, paleontology, biology, and much more using the theory expansion tectonics. I am wanting some guidance as how to do this. I am a computer programmer by trade for over 30 years and I world be leading the effort.

Guidance and suggestions appreciated!

  • Is this possible?
  • It is hard?
  • Can the overlay database be easily modified to include time?
  • Can the continents be overlays as well?

EarthRadius

@tst-lsavoie
Copy link
Collaborator

@dehilsterlexis I haven't spent a lot of time in this part of the code but the Earth's radius is likely a constant in the code. Open GEE does have time-enabled databases that allow you to look through historical imagery, but we definitely don't have anything that would let you change the radius of the Earth over time. You'd have to add that to the database format somehow. So, to directly answer your questions:

  • Is this possible? Yes.
  • Is it hard? Also yes. You would have to modify the database format to include the earth's radius over time, plus the Fusion code to add that data and the Server code to read it. Then you'll have the problem that no clients will know how to use it, so you'll have to write your own client.
  • Can the overlay be easily modified to include time? The overlay already has time for imagery.
  • Can the continents be overlays as well? You could store the shape of the continents as a vector layer. I don't know an easy way to make that change over time.

@dehilsterlexis
Copy link
Author

@tst-lsavoie thank you for the response! The first answer is the most important. I did expect that the database would have to have an added column for time. Hard, I did expect that.

Question back to you: could you elaborate on what "write your own client" entails? I am a computer programmer by trade so you can get technical.

@tst-lsavoie
Copy link
Collaborator

First, we've got some overloaded terminology: the file format Open GEE uses to store it's globes and maps is called a database, even though it's not an actual relational database. So that's what I'm talking about here.

Briefly, Open GEE consists of 3 parts: Fusion (which builds globes and maps, then pushes them to server), Server (which makes globes and maps available to clients - basically Apache + modifications), and Earth Client (which connects to server and displays globes to the user). Fusion and Server are open source and in this repo, but Earth Client is closed and maintained by Google. Your change will require updates to all 3. Since the client is closed, that means writing your own. There are open source libraries that can be used to create a client without much effort, like CesiumJS (not directly affiliated with Open GEE). We have a possibly out-of-date wiki page with an example.

FWIW, there's also a web-based client that only handles 2D maps included in this repo, but it's in minified JavaScript.

I'd highly recommend running through the Fusion tutorial. That will give you a good feel for how the pieces work together and what they can do. There are also some tutorial videos you can look at.

Also, it occurred to me that dates are most likely stored as seconds since the Unix Epoch, so you may need to change that, too.

@shiped
Copy link

shiped commented Jan 29, 2021 via email

@tst-lsavoie
Copy link
Collaborator

Unfortunately I don't know how Mars/the Moon are handled. There are some references to it in the Open GEE code (

const double MarsPlanetaryConstant = 2.94377391816E-7;
), but I don't know if Open GEE as-is supports Mars or the Moon. I have no visibility into the Earth Client code so I can't tell you anything about how the client handles it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants