Initial XPro map visualizer
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# XPro Map Visualizer
|
||||
|
||||
Tiny static WMS viewer for the GeoServer endpoint at `https://xpro-viz.jfig.net/geoserver/xpro/wms`.
|
||||
|
||||
## Run locally
|
||||
|
||||
Start the included Node server:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm start
|
||||
```
|
||||
|
||||
Then open `http://localhost:4173`.
|
||||
|
||||
## Run with Docker
|
||||
|
||||
Using Docker Compose:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# Edit .env and set GEOSERVER_PASSWORD.
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
Then open `http://localhost:4173`.
|
||||
|
||||
Build the image:
|
||||
|
||||
```bash
|
||||
docker build -t xprov-map-visualizer .
|
||||
```
|
||||
|
||||
Run the container:
|
||||
|
||||
```bash
|
||||
docker run --rm -p 4173:4173 xprov-map-visualizer
|
||||
```
|
||||
|
||||
Then open `http://localhost:4173`.
|
||||
|
||||
The browser never receives the GeoServer password. Configure it in `.env` for
|
||||
the backend proxy:
|
||||
|
||||
```bash
|
||||
GEOSERVER_USERNAME=admin
|
||||
GEOSERVER_PASSWORD=change-me
|
||||
```
|
||||
|
||||
To change the default WMS endpoint or allow additional WMS endpoints through
|
||||
the proxy, edit `.env`:
|
||||
|
||||
```bash
|
||||
WMS_ENDPOINT=https://xpro-viz.jfig.net/geoserver/xpro/wms
|
||||
ALLOWED_WMS_ENDPOINTS=https://xpro-viz.jfig.net/geoserver/xpro/wms,https://example.com/geoserver/wms
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- The app does not store the password in the repo, local storage, or the browser.
|
||||
- The included server proxies WMS requests so the browser does not run into cross-origin auth issues.
|
||||
- The proxy only allows configured WMS endpoints. By default it allows the XPro GeoServer endpoint.
|
||||
- It fetches WMS capabilities with backend HTTP Basic Auth and loads all discovered layers on top of OpenStreetMap.
|
||||
- The currently published layers discovered during setup were `parcelas` and `predios`.
|
||||
Reference in New Issue
Block a user