Git Product home page Git Product logo

finnish-nautical-chart-vectors's Introduction

Vectorized Finnish Nautical Charts - Merikartat

Generate Finnish nautical charts in Mapbox vector tile format or rasterize your custom PNG tiles.

Please read Github issue #17 for more information on problematic data and S-57 differences!

Scripts and chart style progress is very much stalled and the charts produced are missing relevant information!

Lähde: Liikennevirasto. Ei navigointikäyttöön. Ei täytä virallisen merikartan vaatimuksia.
Contains information received from the Finnish Transport Agency’s nautical chart database 04/2020
Contains data from the National Land Survey of Finland Topographic Database 04/2020

Install dependencies

  • Install Docker
  • Install PostGIS
  • Install NodeJS 10.x (mapbox-gl-native does not exist for newer nodejs versions: mapbox/mapbox-gl-native#16485)
  • Run npm install

Get the data

Create PostGIS database merikartta

TODO: Use PostgreSQL in Docker?

With psql -U postgres:

CREATE DATABASE merikartta;
\c merikartta
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_raster;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;

Fetch Väylä data (CSV)

Run import/fetch-csv-from-vayla.sh

Data set is quite big, nearly 1.5 GB.

Convert Väylä data into GeoJSON

Run node import/convert-csv-to-geojson.js

This should take some minutes.

Fetch Maanmittauslaitos data (GeoJSON)

Run import/fetch-geojson-from-mml.js

Calculate taululinja overlaps

Run import/calculate-taululinja-overlap.js

Prepare GeoJSON data for import

Run import/prepare-geojson-data.sh

This will take some time, especially the first step when generating syvyysalueet-dissolved-white.geojson file. Running the Mapshaper commands in parallel will speed up the process.

Import GeoJSON data into PostGIS

Run import/import-data-to-psql.js

Start the tile server

Build and watch preview client files using Parcel:

npm run watch

Open http://localhost:3000/

Generate vector MBTiles

TODO

Generate raster MBTiles

TODO

Generate client styles and assets

TODO

Development

Data documentation

Merikartta-aineistojen tietosisällön kuvaus

Vesiväyläaineistojen tietosisällön kuvaus

Maanmittauslaitoksen maastotietokohteet

Maanmittauslaitoksen maastokartta-aineiston koodit

Map styles

  • Edit Mapbox style json: TODO
  • Edit fonts / glyphs: TODO
  • Edit SVG-sprites: TODO
  • Edit OpenLayers conversion

License

MIT

Please note that the nautical and topographical data sources are not part of this repository and have their own licenses.

finnish-nautical-chart-vectors's People

Contributors

dependabot[bot] avatar joux3 avatar mathias-nyman avatar tkurki avatar vokkim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

finnish-nautical-chart-vectors's Issues

Some data fail to download from vayla.fi

Four data files fail to download from vayla.fi using the import/fetch-csv-from-vayla.sh script. Any help on this would be much appreciated.

The errors:

$ cat data/syvyysalue.csv data/syvyyskayra.csv data/syvyyspiste.csv data/rantarakenteet.csv
<?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://julkinen.vayla.fi/geoserver/schemas/ows/1.1.0/owsAll.xsd">
<ows:Exception exceptionCode="InvalidParameterValue" locator="typeName">
<ows:ExceptionText>Feature type rajoitettu:syvyysalue_a unknown</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
<?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://julkinen.vayla.fi/geoserver/schemas/ows/1.1.0/owsAll.xsd">
<ows:Exception exceptionCode="InvalidParameterValue" locator="typeName">
<ows:ExceptionText>Feature type rajoitettu:syvyyskayra_v unknown</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
<?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://julkinen.vayla.fi/geoserver/schemas/ows/1.1.0/owsAll.xsd">
<ows:Exception exceptionCode="InvalidParameterValue" locator="typeName">
<ows:ExceptionText>Feature type rajoitettu:syvyyspiste_p unknown</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
<?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://julkinen.vayla.fi/geoserver/schemas/ows/1.1.0/owsAll.xsd">
<ows:Exception exceptionCode="InvalidParameterValue" locator="typeName">
<ows:ExceptionText>Feature type avoin:rantarakenteet_v unknown</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>

Perhaps these have been redacted from the vayla.fi dataset or the parameter names have changed?
The reported invalid parameters are not listed in the "documentation", nor could I find any similar parameter names however:
https://julkinen.vayla.fi/inspirepalvelu/rajoitettu/wfs?request=GetCapabilities
https://julkinen.vayla.fi/inspirepalvelu/avoin/wfs?request=GetCapabilities

Missing file data/maastokuvionreuna.geojson

The commit 7ae66fe added processing of a data/maastokuvionreuna.geojson file but does not create or download it.

Error:

node import/prepare-geojson-data.sh
...
[i] Error: File not found (data/maastokuvionreuna.geojson)

Substantial differences in stones on different map datasets

First, a tremendous thank you for this marvelous work! Pulling togehter various datasets into a chartplotter based on mapbox is something I've been wanting to do for a couple of years now, but it always seemed like too big of a chunk to chew. Especially as the various now open datasets are scattered around, very poorly documented and compared between each other.

So with this excellent prior work we can examine the differences side by side between this project's "combined dataset", the S57 dataset and the rasterized seamap:
this-custom-map
s57-map
merikartat-map

This is over an area south of Espoo where I know for a fact that different chartplotting software show quite different stone layouts. Here as well, the differences are substantial. And I don't even know how to rank them, as it's not like one has more stones then the rest - they're just different.

I don't really know what to make of this, or how to get to the bottom of it (pun!). But I wanted to at least document this comparison here for others to see.

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.