Earth Reverse Engineering

Reversing Google's 3D satellite mode
Alternatives To Earth Reverse Engineering
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Earth Reverse Engineering2,008
2 years ago16C
Reversing Google's 3D satellite mode
Three Geo807
2 months ago16June 18, 202226mitJavaScript
3D geographic visualization library
Flyover Reverse Engineering499
2 years ago2Go
Reversing Apple's 3D satellite mode
Awesome Maps251
a month ago
There is more than google: A collection of great online maps 🌍🗺🌎
S2p139
2 years ago30agpl-3.0C
This repository is not maintained, please use https://github.com/centreborelli/s2p instead.
Satellite Tracker94
3 months ago5November 03, 20192mitJavaScript
Javascript 3D satellite tracker library with up-to-date data from CELESTRAK. Uses Three.js, React and satellite.js for orbit prediction.
Esri Satellite Map85
a year ago4JavaScript
High performance 3d display of ALL man-made satellites orbiting the Earth.
Agsattrack43
6 years ago24JavaScript
agsattrack
Geojsontomesh42
6 years ago2mitC#
A quick look at #3D mapping on #HoloLens with #unity. Provides a custom editor to import a Geo Bounding Box into Unity as a 3D mesh which is textured with a satellite image using the Bing Maps static API.
Wifisatellite41
4 years agomitC++
WiFi Satellite Project - as seen on the Chaos Communication Congress
Alternatives To Earth Reverse Engineering
Select To Compare


Alternative Project Comparisons
Readme

header

Reverse-engineering undocumented parts of Google Earth. Similar work is done for Apple Maps here.

Status

The focus has been on the 3D satellite mode, which required digging into:

  • URL structures
  • octrees and conversion from geo coordinates
  • Protobuf formats of assets and metadata
  • postprocessing steps (e.g. unpacking of meshes and textures)

Code was written and tested with various regions and cities:

Info

URL structure:

"https://kh.google.com/rt/🅐/🅑"
 - 🅐: planet
       - "earth"
       - "mars"
       - ...
 - 🅑: resource
       - "PlanetoidMetadata"
       - "BulkMetadata/pb=!1m2!1s❶!2u❷"
          - ❶: octant path
          - ❷: epoch
       - "NodeData/pb=!1m2!1s❸!2u❹!2e❺(!3u❻)!4b0"
          - ❸: octant path
          - ❹: epoch
          - ❺: texture format
          - ❻: imagery epoch (sometimes)

Misc:

General info:
 - Everything is stored in an octree.

Roles of resources:
 - PlanetoidMetadata points to first BulkMetaData.
 - BulkMetaData points to other BulkMetaData and to NodeData.
 - NodeData contains actual meshes and textures.

Versioning:
 - BulkMetaData and NodeData are versioned using epoch numbers.
 - PlanetoidMetadata provides epoch of first BulkMetaData.
 - BulkMetaData provides epochs of underlying resources.
 - Current version of a resource can be determined recursively.

NodeData:
 - Mesh: packed XYZ, UV, octant mask, normals
 - Texture: JPG, CRN-DXT1
 - Raw format: see rocktree.proto and rocktree_decoder.h
 - Other optimizations: BVH
BulkMetaData:
 - Oriented Bounding Box
    - Dump OBB to obj: https://gist.github.com/retroplasma/5698808bfaa63ffd03f751a84fa6ce14
    - Latlong to octant using OBB (unstable): https://github.com/retroplasma/earth-reverse-engineering/blob/443a3622ce9cb12cd4460cc6dc7999cc703ae67f/experimental_latlong_to_octant.js

Related ideas: Racing game , Minimal client. WebGL + CORS should work (test).

Important

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Popular Satellite Projects
Popular 3d Graphics Projects
Popular Mapping Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
C
3d
Extract
Google Maps
Gis
Earth
Reverse Engineering
Satellite
3d Models
Photogrammetry