Coder Social home page Coder Social logo

finitemonkeys / kerbal-maps Goto Github PK

View Code? Open in Web Editor NEW
9.0 9.0 4.0 12.05 MB

A Google Maps-like UI for Kerbal Space Program (KSP) celestial bodies.

License: Apache License 2.0

Elixir 62.29% CSS 5.29% JavaScript 7.21% HTML 13.19% Dockerfile 0.71% Makefile 1.47% Ruby 6.34% Shell 3.51%
kerbal-space-program ksp

kerbal-maps's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar kodiakhq[bot] avatar krisalyssa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kerbal-maps's Issues

Create zoom level 0 maps for all bodies in JNSQ

Biome, satellite, and slope; zoom level 0

  • Moho
  • Eve
    • Gilly
  • Kerbin
    • Mun
    • Minmus
  • Duna
    • Ike
  • Edna
    • Dak
  • Dres
  • Jool
    • Laythe
    • Vall
    • Tylo
    • Bop
    • Pol
  • Lindor
    • Krel
    • Aden
    • Riga
    • Talos
  • Eeloo
    • Celes
    • Tam
  • Hamek
  • Nara
    • Amos
    • Enon
    • Prax

Render full-resolution images for celestial bodies

Essentially, take the tiles at the highest resolution and stitch them together into a single image.

Mechanically, this isn't difficult, but the resulting image will be big and could have a substantial impact on the bandwidth budget. (Then again, it should be about the same as somebody viewing the entire map at the highest zoom level, so maybe we're talking no more than twice the current bandwidth.)

Add legend for biome map

  • add JSON column to celestial_bodies table
  • load biome data from Info.txt into celestial_bodies
  • add Leaflet.HtmlLegend plugin to UI
  • use biome data to set up legend
  • show legend when map style is "biome" and hide it when not

Add search

  • lat/lon in various formats
  • waypoint name
  • waypoint description?

Additional planet packs

I found references to these packs by searching through the forums. I don't know if there's likely to be any demand for them or even if they're still supported. Each one will need to be tracked down and if still valid, an issue created with a link to where to find it.

  • Alternis Kerbol Rekerjiggered
  • Seven Worlds of SLIPPIST-1
  • Whirligig World
  • Rocheworld
  • Event Horizon
  • Gameslinx Planet Overhaul
  • Before Kerbin
  • After Kerbin
  • Other Worlds Reboot
  • Kerbal Star Systems
  • New Horizons
  • Xenoclave's Planet Collection
  • OPM
  • Kerbol Origins
  • Sentar Expansion
  • Dwarf Planets Plus
  • Extra Solar (Valentine)
  • Outer Kerbin

Support coordinates in the URL

The KSP wiki contains links to the old Kerbal Maps with queries like ?body=Kerbin&loc=20.6709,-146.4968. We should support these.

Add more query params

As far as I can tell, the only existing "documentation" for the query parameters supported by the original kerbalmaps.com is at https://wiki.kerbalspaceprogram.com/wiki/Template:Kerbalmaps . As many of the original query params as possible should be supported, if for no other reason than to not break any map links in the wiki.

  • body
  • loc (Note: display a marker on the map, with text from 3rd element of tuple)
  • center (similar to loc, but no marker)
  • zoom
  • overlays (comma-separated list of spacecenters, anomalies, poi)

Distance measurement

  • Map scale indicator
  • Display distance between two selected points (click-move-click, or click-and-drag?)

Add spherical projection for globe-like view

Google Maps switches to a spherical-ish projection when you zoom out far enough. Can we do the same?

I think Leaflet supports non-rectilinear projections, but some investigation is needed. A complication may be that since our source data (the tiles extracted from KSP) are based on a rectilinear projection, they may not look so good if converted to a spherical projection.

Generate maps for bodies in JNSQ

Biome, satellite, and slope; zoom levels 0-7; biome legend data

  • Moho
  • Eve
    • Gilly
  • Kerbin
    • Mun
    • Minmus
  • Duna
    • Ike
  • Edna
    • Dak
  • Dres
  • Jool
    • Laythe
    • Vall
    • Tylo
    • Bop
    • Pol
  • Lindor
    • Krel
    • Aden
    • Huygen
    • Riga
    • Talos
  • Eeloo
    • Celes
    • Tam
  • Hamek
  • Nara
    • Amos
    • Enon
    • Prax

Overlays don't wrap

Here's the anomaly overlay:

image

If I click and pan the map, the geography wraps, but the overlays do not:

image

image

Add planet packs to database

  • add planet_packs table
    • add stock as first row
  • add planet_pack_id foreign key from celestial_bodies to planet_packs
    • set planet_pack_id for all current rows to ID of stock
    • set foreign key to be NOT NULL

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.