Quick summary for planetary map servers (mid-2023)

Here I am tackling servers (or no-servers) not web interfaces like Leaflet, OpenLayer, Treks, Quickmap, MMGIS, Cesium, JMARS, …

  1. Mapserver: For about 1+ years, PROJ has supported the IAU 2015 codes and also an online REST API. OGC just officially proxied those codes also. I was hopeful, since Mapserver uses PROJ, that planetary projections would just work (as they pretty do in GDAL and QGIS). However, it seems does not work just yet in Mapserver (even though it doesn’t error on the codes, but just sends a blank image). This could be a quick fix or a more hideous fix - I haven’t diagnosed it more. Thoughts:

    • have someone dig into/test Mapserver and see if perhaps it might already “just work”.
      • why - We have reliably used Mapserver for a long time. Easy to install using Anaconda.
    • get some help from Mapserver experts, for what I assume would be a fairly quick fix.
  2. Geosolutions: Is currently working on implementing planetary support and IAU codes for GeoServer/GeoTools. Our goal here is (1) get WGS84 lock-in removed and (2) implement IAU codes. They don’t use PROJ, being JAVA, but Geoserver is known to be a good vector server (e.g. vector tiles) and has a good query language (CQL) for its API.

  3. QGIS Server (very unknown to me), should have IAU code support (again uses PROJ). Might “just work” but given the current planetary quirks in QGIS, I assume there will be some issues.

  4. AHTSE which is an Apache-based mod server. AHTSE doesn’t use PROJ, but has Mars and Moon (polar for both), “easy” to update for more. It is optimized for performance and has some really astounding capabilities, but might take some digging into. Here is AHTSE in the wild, using the latest Caltech CTX mosaic v01 (MRF on S3, and very modest Apache server with cache).

  5. Lunaserv: Also doesn’t use PROJ but has very good IAU code support and most projections used by the planetary community. I don’t have any experience standing up this server, but has been used for quite some time by the LROC Team (also created by the LROC Team).

  6. Go nuts and use Astronomy-based HIPS tiles for planetary surfaces and run a mapproxy to WMS (or vise versa)

  7. The NO-server server… Folks in the community have been testing methods like COGs and Titiler (dynamic tiled server). I am a huge fan since I have always hated building tile caches for Tiled WMSs (millions of jpegs) for larger mosaics. I know Tile WMSs work and are still likely the best method for web viewers, but I just hate building/supporting them. The MRF format is really a Tiled WMS compromise (and works really well with AHTSE since it was created by the same person, Lucian P.). Tiles are still built, but they are smartly indexed into single/few files. Really an index on-disk “database” and also works really well in S3 (with a cache). Support for COGs has taken off, but it is still somewhat bleeding edge for support under all viewers (e.g., Leaflet). COGs have no planetary issues (and don’t use IAU codes), but the web viewers will likely still need to be spoon-fed (forced) to recognize the projection. Much like we do today for Leaflet. During initialization, we overwrite a known code with planetary radius and it works.

    • I love that COGs are well supported in full desktop GISs and can be almost as fast as a local file.
    • STAC, a metadata standard and API for COGs, is getting more support for using IAU codes. Jay L. has introduce an “authority” keyword and projection code, which I think is close to being adopted. See some recent releases using STAC and COG.
  8. Even more:

I would love to hear more from others too.

1 Like