SVG and WGS84 https://www.w3.org/TR/SVG11/coords.html
The project consists of three parts:
-
Application (native web browser)
-
CouchDB and S3
-
Scraper (Golang)
The developments tools are listed in flake.nix. The development environment can be start with command:
nix develop
1. Application
There is a development server server.js that serves the app and static assets.
The application resides in app directory.
| Unresolved directive in <stdin> - include::./app/requirements.tsv[] |
|---|
Run (the development server) with:
node server.js
Static assets are deployed directly to a web server with Git. Later it could be possible to download the assets to CounchDB.
2. Scraper runner
Golang implementation fetches the data to CouchDB. The runner resides in scrape directory.
| Unresolved directive in <stdin> - include::./scrape/requirements.tsv[] |
|---|
The running will require some cookies to be gotten from a web browser. Run with:
export OTA_TOKEN=...
export OTA_CUID=...
export OTA_LOADED=...
export PHPSESSID=...
go run main.go
3. Next steps
-
Implement additional map features, "metro", "pikaraitiotie", "koulut", "kaupat".
-
Add possibility to color districts based on data such as crime rate, etc.
-
Make the weight calculation work.
-
Fix the map zoom and initial viewport
-
Add links to house details on the service. Add additional images
-
Parse more data from data source. Currently only overview is parsed.
-
Images on modal open on click to a new window
-
Visual programming? Value function description with Javascript?
-
Notifications to user on new houses
-
Sharing via URL
-
Real support for MultiLineString in geometry
4. Analysis Data processing
List of open WFS data sources are in: https://kartta.hel.fi/avoindata/dokumentit/Aineistolista_wfs_avoindata.html
WFS Capabilities can be found from: https://kartta.hel.fi/ws/geoserver/avoindata/wfs?version=2.0.0&request=GetCapabilities
The node.js script download.js downloads the material.
