Lunar Resources Insight is a easy-to use web application dedicated to lunar resources.
@@ New version development ongoing in other branch @@
Lunar Resources Insight use different technologies to work properly:
- Node.js - Javascript runtime environment.
- Webpack - Static module bundler for javascript.
- GeoServer - Geographical data backend.
Create a private .env config file in your project at the same level
- Create an
.env
file in the project directory. - In the
.env
file, add the following environment variable with your local information:
# The map server url, where the geographical data are located, can be localhost, an ip or a specific adress (without the slash / at the end)
MAP_SERVER_URL=http://example.com/geoserver
Edit the config.js file with your map server configuration with your workspace name and layer name assuming you are using GeoServer.
- Install Node.js on your computer.
- Install GeoServer on your computer, assuming via docker in this case.
If you are using docker, mount an external directory by following the geoserver github docker initialization, in your geoserver local folder the data should be placed in data/{{custom_workspace_name}}/ with the port configured like this:
-p 8090:8080
, this way it will be accessible with the urllocalhost:8090/geoserver
Example commands:
To pull the official image:
docker pull docker.osgeo.org/geoserver:{{VERSION}}
To pull the image locally:
docker run -it -p {{LOCAL_PORT}}:8080 --env INSTALL_EXTENSIONS=true --env STABLE_EXTENSIONS="vectortiles,geopkg-output,gdal,jp2k,iau" --env CORS_ENABLED=true --mount src="C:/Your/Local/Geoserver/Directory",target=/opt/geoserver_data/,type=bind docker.osgeo.org/geoserver:{{VERSION}}
When geoserver is running, you need to create a workspace, eg. lunar-resources
, the different service on the workspace need to be activated (WMS, WCS, WMTS and WFS). On the Stores category, connect to a layer and publish it. The layer will appear in the Layers category. For the layer publication, the default names in the config.js of the Lunar Resources Insight project can be used.
If the downloaded dataset has a style with it, you can add it in the Styles category in GeoServer.
The Layers page in GeoServer should look like this:
Title | Name | Store |
---|---|---|
Global20ppd_SRV_LPGRS_geotiffCa_tiles | lunar-resources:calcium | Calcium |
GeoContacts | lunar-resources:geo_contacts | unified_geologic_v2 |
GeoUnits | lunar-resources:geo_units | unified_geologic_v2 |
Global20ppd_SRV_LPGRS_geotiffFe_tiles | lunar-resources:iron | Iron |
Global20ppd_SRV_LPGRS_geotiffMg_tiles | lunar-resources:magnesium | Magnesium |
MOON_nomenclature_center_pts | lunar-resources:nomenclature | IAU Nomenclature |
Global20ppd_LPGRS_geotiffTi_tiles | lunar-resources:titanium | Titanium |
WAC_GLOBAL_100M | lunar-resources:wac_global_100m | wac_global_morphologic_100m |
The Name category is related to the Lunar Resources Insight config.js
file. The Title and Store can be any names.
Styles are in SLD format that can be incorporated into GeoServer via Data > Styles option.
- The chemical element styling is done automatically via the interface, but they also need a default styling file (eg. gray) to be present in the "GetCapabilities", as default.
- For the Nomenclature and the Geologic data, the style should be configured as default by using the provided styles from the required test data link.
- About the 'WAC Global 100m' file, you need to generate a default 'raster' style, by creating a new one directly on GeoServer in the Style category.
Download and add the required test data to your geoserver local directory, also with the style files. The test data is composed of WGS84 processed and optimised:
- Tiled basemap (WAC global 100m)
- IAU Nomenclature
- Geologic map from USGS
- Global20ppd Titanium, Calcium, Magnesium and Iron
Starting the 2.24.0 version of GeoServer, planetary CRS support was added. The data can be now in lunar coordinate system with the GeoServer IAU planetary CRS extension. The data will be changed in the future to reflect this changes (Globally to IAU2015:30100 projection and related code), the Cesium globe ellipsoid will be modified to take into account the lunar ellipsoid. You will need to download and install the extension in GeoServer.
- Open the project in your code editor and do
npm install
- Start the project with
npm start