vokkim / finnish-nautical-chart-vectors

Generate Finnish nautical charts in Mapbox vector tile format
14 stars 3 forks source link

Substantial differences in stones on different map datasets #17

Open mathias-nyman opened 3 years ago

mathias-nyman commented 3 years ago

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.

vokkim commented 3 years ago

You were fast ;) I thought of making a small breakdown presentation about the data as I saw you took some interest in the project, since I've spotted the difference too. That is why I added the S-57/Merikartta comparison sliders.

The rocks given by Maanmittauslaitos are very different than what's in the official maps and I think Traficom depth data even misses some islets here and there. The problems with the data slowed down the progress and I was lazy to continue the project.

I tried to send questions to traficom about the data. No answer, pretty hard to get in touch with anyone. Any contacts would be appreciated!

It seems that the official Merikartta-data (which is very poorly rasterized these days, was much much better back in 2017 - https://github.com/vokkim/rannikkokartat-mbtiles) uses the same data source as the official S-57 maps (makes sense!). However, the same data can not be combined from open data sources.

vokkim commented 3 years ago

Buoys, beacons and waterways seem to be pretty well in place. I've also had plans to add relevant roads, bridges, power lines and some buildings to the data, since they look pretty OK from Maanmittauslaitos.

List of required map items is long, as well as things requiring fixing (resolutions, icons, build-process, mvt->png etc).

mathias-nyman commented 3 years ago

I'll include a couple of more interesting maps of the same area:

  1. The official Maastokartta. Rock-wise it is the same as the one produced by this project.
  2. The Navionics/Garmin Nautical map. Rock-wise it seems to be a combination of Maastokartta's rocks and S57's rocks (Not Merikartta's rock).
  3. The Navionics/Garmin Sonar map. Rock-wise same as above, but wow, what sonar!

maastokartta-from-paikkatietoikkuna-fi Source: https://kartta.paikkatietoikkuna.fi/ activecaptain-garmin-nautical Source: https://activecaptain.garmin.com/en-US/Map activecaptain-garmin-sonar Source: https://activecaptain.garmin.com/en-US/Map

mathias-nyman commented 3 years ago

Merikartat indeed does seem to mostly use S57 as its data source. Rock-wise the area around Gåsgrund does not seem to show any differences between the two. But I've noted at least the following differences:

  1. Rock-wise S57 is for the most part a superset of Merikartat.
  2. There however is one rock which is in Merikartat, but not in S57.

this-custom-map s57-map merikartat-map

I'm mostly focusing on rocks coverage for now, as those omissions are the most scary. I think showing both Maastokartta rocks and S57 rocks is the best choice. I personally don't mind making a few extra unnecesary turns around imaginary rocks. I recall the Loisto Mariner did support showing both Merikartta and Maastokartta rocks on top of each other, but I didn't validate at the time if it was the Merikartta data or the S57 data that they actually used.

Having detailed sonar depth curve data would be the next concern. Not sure where to source that?

mathias-nyman commented 3 years ago

I did notice a small discrepancy in the placement rocks between this custom map and the Maastokartta map. The rocks just south east of Iso Vasikkasaari. Could this be just due to something like drawing the rock symbol centered on the exact coordinate vs. drawing it with top-left corner on the exact spot?

this-custom-map maastokartta

vokkim commented 3 years ago

Probably. Icons and placing is not very scientific yet. You can also spot small missing islets north of Pukkisaari, and elsewhere.

mathias-nyman commented 3 years ago

@vokkim, regarding the the poor quality rasterization, it seems they have just chosen to split rasterization into two tilesets suitable for different zoom levels.

The Rannikkokartat is the course grained tile and the Satamakartat is the fine grained tile: image Source: https://julkinen.traficom.fi/rasteripalvelu/wmts/rest/Traficom:Rannikkokartat%20public//WGS84_Pseudo-Mercator/WGS84_Pseudo-Mercator:15/9519/18608?format=image/png image Source: https://julkinen.traficom.fi/rasteripalvelu/wmts/rest/Traficom:Satamakartat//WGS84_Pseudo-Mercator/WGS84_Pseudo-Mercator:15/9519/18608?format=image/png

I chose these tiles as examples specifically because they highlight that some rocks are not shown in the Rannikkokartat raster, which are shown on the Satamakartat raster.

I also discovered your einavigointiin.fi (nice!) and it seems it uses the Rannikkokartat rasters and lacks some rocks. So I urge that you consider updating it to use the Satamakartat rasters there as well.

mathias-nyman commented 3 years ago

I have now reported two concrete occurences of missing rocks in Merikartat:

  1. Merikartat not showing rocks that are shown in the S-57 tiles
  2. Merikartat not showing rocks that are shown in Maastokartat

Reports sent here: https://apps.esriuk.com/app/questionwhere/50/view/0fd443e55f2d4fdca9c2713ea42b48a7/index.html , as instructed here: https://www.traficom.fi/fi/liikenne/merenkulku/merikartat

I've also sent a request to copyright[@]traficom.fi for information about the contract and payment for the S-57 ENC (vector) dataset as instructed here: https://www.traficom.fi/fi/liikenne/merenkulku/merikarttojen-ja-merikartta-aineistojen-jakelukanavat

Let's hope we get some answers..

vokkim commented 3 years ago

What I meant by problems in the raster tiles is this: tile-raster-problem

Old (2017) tile used in einavigointiin.fi (https://einavigointiin.fi/map/15/18608/9519) is not that sharp, but but texts, roads, rocks etc render with nice anti-aliasing or sub-pixels. The current tile instead renders everything with "nearest neighbour"-like sampling, making text etc very difficult to read. Similar resampling problem occurred in 2017 with zoom levels 1-14, but the maximum zoom level 15 was OK. Now for the dataset used in einavigointiin.fi (https://github.com/vokkim/rannikkokartat-mbtiles) I scraped the maximum zoom level and used gdal to generate other zoom levels with cubic resampling to get better readability.

Resampling/anti-aliasing problem seems to happen with other projections as well.

vokkim commented 3 years ago

And yes, using the "Satamakartat" would help (and that's what I should do I guess), but they only cover very limited area of the coast.

mathias-nyman commented 3 years ago

Oh, that rannikkokartat-mbtiles trick is nifty. Nice work!

vokkim commented 3 years ago

btw got an answer to the S-57 data: ~3500€+VAT and 30% royalty payment. Not very well suited for creating your own maps for Web.

mathias-nyman commented 3 years ago

Hah! I got the same answer. Well, actually, I'll post the full details here (in finnish) for future reference:

  • Aineisto on jakelussa itsepalveluna latauspalvelussamme S-57 -siirtostandardin mukaisessa formaatissa.
  • Normaalia opastusta annetaan palvelun käyttöön ja aineiston sisältöön virka-aikana. Latauspalvelun saatavuus on käytännössä 24/7.
  • Edellytyksenä aineiston lataamiseen on johdettujen tuotteiden sopimus, jossa sovelletaan käyttö- ja markkinointioikeusmaksuperiaatteita.
  • Käyttöoikeusmaksu 16 €/solu, solumäärä n. 210 kpl, päivitysmaksu 8 €/solu/vuosi, raportointi kerran vuodessa
    • On-line/Off-line verkkosovelluksissa sovelletaan vuosi- ja hittimaksuperiaatteita
  • Markkinointioikeusmaksu eli rojalti 30% verottomasta puhtaasta myyntituotosta.

For a hobby project buying all the data isn't reasonable. But AFAICT you could just buy the cells you need. For a typical Hanko-Loviisa coverage you could probably do with ~20 ENC Approach cells: https://www.traficom.fi/fi/merikartoituksen-tuoteluettelo

I'll still ask if ENC Harbor cells expose any rocks that are not in the ENC Approach cells. Similar to how Satamakartat show some rocks that are not on Rannikkokartat.

mathias-nyman commented 3 years ago

I also got a reply to my report about the Merikartat rasters missing some rocks that are shown in the S-57 rasters. TL:DR they haven't updated the Merikartat rasters for a long while (busy with the N2000 project alledgedly). As a consumer of these Merikartat maps you are supposed to update your own maps (by hand I guess) according to all updates they post here: https://www.traficom.fi/fi/asioi-kanssamme/tiedonantoja-merenkulkijoille

But I'll include the complete response for reference, with personal data removed:

Kiitos palautteesta.

Merikarttatietokantamme päivittyy jatkuvasti ja muutostiedot julkaistaan viipymättä sekä elektronisilla merikartoilla (ENC) että Tiedonantoja merenkulkijoille -palvelussa painettujen merikarttojen muutostietoina. S-57 aineisto vastaa päivitettyä ENC-aineistoa. Kun painetuista merikartoista tehdään uusi painos, se sisältää kaikki TM-palvelussa/ENC:llä julkaistut muutostiedot. Samalla tiedot päivittyvät myös WMTS-karttakuvapalveluun.

Valitettavasti painetuista merikartoista ei ole hetkeen tullut uusia painoksia, kun olemme valmistautuneet julkaisemaan uudet painokset N2000-korkeusjärjestelmässä. Tästä johtuen myös WMTS-karttakuvapalvelusta puuttuvat viimeisen merikarttapainoksen jälkeiset muutostiedot eli mm. kivet, joista tässä yhteydessä on kyse. Ajantasainen tilanne löytyy siis S-57 -aineistosta ja vastaavasti WMTS eli rasteripalvelusta huomioiden TM:n muutostiedot. https://www.traficom.fi/fi/asioi-kanssamme/tiedonantoja-merenkulkijoille

Ystävällisin terveisin,

-----Original Message----- From: QuestionWhere@esriuk.com QuestionWhere@esriuk.com Sent: torstai 18. helmikuuta 2021 17.35 To: <@traficom.fi> Subject: Email 1 of 1: Merikarttapalaute

  • Havaintopaikan koordinaatit: Latitudi (aa mm.dd) (esim. 61 30.25): 60.1426
  • Havaintopaikan koordinaatit: Longitudi (aa mm.dd) (esim. 24 50.22): 24.7713
  • Sanallinen kuvaus, esim. sijainnin sanallinen kuvaus: Merikartta aineistosta puuttuu osa S-57 aineistossa olevista kivistä. Tässä esimerkissä, Espoon Pitkäsaaren pohjoisessa kärjessä S-57 aineiston näyttämä pohjoisin kivi (pohjoisin karttatiilessä siis) ei ole merkattu julkiseen Merikartat, Rannikkokartat tai Satamakartat aineistoon joka on saatavilla "https://julkinen.traficom.fi/rasteripalvelu" palvelusta. Pohjois-itä rannan muutkin kivet eivät ole Merikartassa samassa kohtaa kuin S-57 aineistossa. Tämä kohta on vain esimerkki, ja nämä eroavaisuudet ovat yleisiä. Pyydän että Merikartta aineistoa korjataan konaisvaltaisesti vastaamaan S-57 aineistoa, tai selityksen siitä miksi Merikartat ja S-57 aineisto eroaa toisistaan siltä osin mitä kiviä on suomen vesistöissä. Merikartat karttatiili: https://julkinen.traficom.fi/rasteripalvelu/wmts/rest/Traficom:Merikarttasarjat%20public//WGS84_Pseudo-Mercator/W GS84_Pseudo-Mercator:15/9489/18637?format=image/png S-57 karttatiili: https://julkinen.traficom.fi/s57/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true &LAYERS=cells&ID=27&STYLES=style-id-201&styles=style-id-202&WIDTH=256&HEIGHT=256&CRS=EPSG%3A3857&BBOX=2755401.995 624032,8431309.96796808,2756624.9880765975,8432532.960420646
mathias-nyman commented 3 years ago

I also stumbled upon O-charts, which is selling S-57 data for OpenCPN users. 29eur for Finland: https://o-charts.org/shop/en/oesenc/34-fi.html

Dissapointingly though, in their EULA they forbid using this data outside OpenCPN.

vokkim commented 3 years ago

Yeah I've been looking into that. Planned to do some "investigating" still at some point. Charts are encrypted using a fingerprint obtained from OpenCPN plugin, so they are not that easy to open. Would like to try out how S-57 data imports to postgis with GDAL.