mtk2garmin icon indicating copy to clipboard operation
mtk2garmin copied to clipboard

WIP: Getting started

Open sdahlbac opened this issue 8 years ago • 18 comments

Vaiheessa, ei ole missään vaiheessa valmis, mutta teen valmiiksi, jos vaikka jotain keskustelua asioista on tarpeellista.

Tuo miten nuo WFS jutut kuuluu käyttää on edelleen vähän hakusessa, vaikka tuo national grid dataset:tiä sain ladattua. Tästä ehkä käy ilmi että WFS /GIS jutut ole niin tuttuja.

Progress so far:

  • Finnish national grid dataset ladattuna
  • National topographic database from NLS ladattuna
  • OSM ladattuna
  • MTKToGarminConverter käännetty, ei vielä ajettu, täytynee säätää vähän polkuja jne ja varmaankin hakea kaikki tarvittava materiaalia.

(tällä hetkellä Mac:in ääressä, löytyy toki windowsia myös. Ensialkuun ajattelin yrittää saada toimimaan osx:lla, sillä tavoin saataisiin maksimoitua "kohdeyleisöä")

sdahlbac avatar Nov 01 '16 19:11 sdahlbac

Hienoa, kiitoksia. Näyttää hyvältä. Ehkä tässä tosiaan on toivoa saada pyörimään jonkun muunkin toimesta. WFS:stä saa tosiaan pääsääntöisesti ladattua koko halutun datasetin oletusformaatissa (käytännössä GML) tuolla ?request=GetFeature&typeName=Grid-loitsulla. Retkikartan aineistojen ja syvyystietojen osalta käytössä on ollut shp-formaatti, joka on hiukan tehokkaampi tilankäytön suhteen. Shp:n lataaminen onnistuu lisäämällä outputFormat=shape-zipparametrin kutsuun. Itse MTKToGarminConverterin pitäisi hyväksyä kaikki OGR:n lukemat formaatit (tosin kovakoodatut polut on spesifejä zip-pakatuille aineistoille).

Kyselyllä ?request=GetCapabilities saa WFS palvelimen listaamaan mm. kaikki käytössä olevat tasot, eli http://www.retkikartta.fi/wfs/a9e9a1840ee69e32d59af86dd1ffeb44/?request=GetCapabilities antaa ulos Retkikartan WFS:ltä saatavat aineistot ja sieltä johdettuna esimerkiksi http://www.retkikartta.fi/wfs/a9e9a1840ee69e32d59af86dd1ffeb44/?request=GetFeature&typeName=retkikartta_euref:kesaretkeilyreitit&outputFormat=shape-zip antaa kaikki kesäretkeilyreitit shp-muodossa zippinä.

pailakka avatar Nov 02 '16 06:11 pailakka

Tilannepäivitystä:

Juu huomasin itse kun yritin ajaa MTKToGarminConverter että tuota GDAL ei toiminutkaan tuolla yrittämäni tavalla. (swig natiivijutut uupuivat..) "hetken" säätämisen jälkeen sain kuitenkin ohjelma ajoon ja jopa valmiiksi asti.

Tosin:

  • syvyyskäyrä data, lataamassani zippissä oli syvyyskayra_v.shp eikä syvyyskayrat.zip

Pientä säätöä koodiin jouduin tekemään, pääosin polkuihin ja path separator liittyen. Tulossa kunhan saan hiukan siistittyä ja toivon mukaan myös backward compatible

osmconvert64 ei erikseen löydy, joten käytin osmconvert

Siinä tulikin seuraava ongelma:

➜  mtk2garmin git:(getting-started) ✗ ./merge_all.bat
osmconvert Error: node key string index overflow: 2,635>=428
osmconvert Error: node key string index overflow: 55,636>=428
osmconvert Error: node key string index overflow: 634,637>=428

Mitään selkeää kuvaa miten tuota pitäisi lähte debuggaamaan minulla ei ole.

sdahlbac avatar Nov 06 '16 12:11 sdahlbac

Erikoista. Syystä tai toisesta pbf tiedostoissa on siis viittauksia merkkijonotaulukossa olemattomiin merkkijonoihin. Gitissä olevalla versiolla olen viimeksi eilen luonut aineistot ihan onnistuneesti, testailen hiukan mistä voisi olla kyse. Osaatko toistuuko virheet kaikilla karttalehdillä vai vain jollain tietyllä?

pailakka avatar Nov 06 '16 12:11 pailakka

Nyt olen ihmetellyt tarkemmin:

osmconvert suomi/P3421L.osm.pbf --out-o5m|osmconvert - suomi/P3421R.osm.pbf --out-o5m|osmconvert - suomi/P3422L.osm.pbf --out-o5m|osmconvert - suomi/P3422R.osm.pbf --out-o5m|osmconvert - suomi/P3423L.osm.pbf --out-o5m|osmconvert - suomi/P3423R.osm.pbf --out-o5m|osmconvert - suomi/P3424L.osm.pbf --out-o5m|osmconvert - suomi/P3424R.osm.pbf -o=suomi/P342.osm.pbf
osmconvert Error: node key string index overflow: 2,635>=428
osmconvert Error: node key string index overflow: 55,636>=428
osmconvert Error: node key string index overflow: 634,637>=428

Kaikki tuohon asti on mennyt herjaamatta. Mutta voisin toki ottaa ottaa viimeisin versio koodista ja kokeilla sillä.

sdahlbac avatar Nov 06 '16 19:11 sdahlbac

Tämä liittyy tuohon pbf-formaatin stringtableen ja sen muodostamiseen muutospalikassa. Tuon osuuden toteutus kieltämättä on varsin surkea ja sama ongelma esiintyi myös itselläni aikaisemmin, mutta sain sen jotenkuten silloin korjattua.

Viimeisimmällä koodilla en saa tuota toistettua, mutta tässä voi hyvin olla jotakin käytettyyn alustaan ja aineistoihin liittyvää henkimaailman asiaa.

Voisin koittaa järkeistää tuota stringtablen muodostamista, menee tosin ensi viikon puolelle.

pailakka avatar Nov 10 '16 19:11 pailakka

Nyt uusimmalla koodilla ajettu tuo MTKToGarminConverter uudestaan.

Edelleen osmconvert herjaa välillä, tämä nyt osmconvert 0.8.5

Elikkä ehkä minun ympäristössäni joku bitti poikittain tms jonka syystä ilmestyy herkemmin. Mahdollisesti ihmettelen hiukan tuota koodia.

Sellaisen testin voisin vielä tehdä, jos ajaisi merge_all.bat uudestaan ja varmistaisi että edelleen tulee virheviestiä samoista asioista.

osmconvert suomi/U5131L.osm.pbf --out-o5m|osmconvert - suomi/U5131R.osm.pbf --out-o5m|osmconvert - suomi/U5132L.osm.pbf --out-o5m|osmconvert - suomi/U5132R.osm.pbf --out-o5m|osmconvert - suomi/U5133L.osm.pbf --out-o5m|osmconvert - suomi/U5133R.osm.pbf --out-o5m|osmconvert - suomi/U5134L.osm.pbf --out-o5m|osmconvert - suomi/U5134R.osm.pbf -o=suomi/U513.osm.pbf
osmconvert Error: node key string index overflow: 1,889>=532
osmconvert Error: node key string index overflow: 14,897>=532
osmconvert Error: node key string index overflow: 888,890>=532
osmconvert Error: node key string index overflow: 1,889>=494
osmconvert Error: node key string index overflow: 14,897>=494
osmconvert Error: node key string index overflow: 888,890>=494
osmconvert suomi/U5141L.osm.pbf --out-o5m|osmconvert - suomi/U5141R.osm.pbf --out-o5m|osmconvert - suomi/U5142L.osm.pbf --out-o5m|osmconvert - suomi/U5142R.osm.pbf --out-o5m|osmconvert - suomi/U5143L.osm.pbf --out-o5m|osmconvert - suomi/U5143R.osm.pbf --out-o5m|osmconvert - suomi/U5144L.osm.pbf --out-o5m|osmconvert - suomi/U5144R.osm.pbf -o=suomi/U514.osm.pbf
osmconvert Error: node key string index overflow: 1,889>=313
osmconvert Error: node key string index overflow: 14,897>=313
osmconvert Error: node key string index overflow: 888,890>=313
osmconvert suomi/S5311L.osm.pbf --out-o5m|osmconvert - suomi/S5311R.osm.pbf --out-o5m|osmconvert - suomi/S5312L.osm.pbf --out-o5m|osmconvert - suomi/S5312R.osm.pbf --out-o5m|osmconvert - suomi/S5313L.osm.pbf --out-o5m|osmconvert - suomi/S5313R.osm.pbf --out-o5m|osmconvert - suomi/S5314L.osm.pbf --out-o5m|osmconvert - suomi/S5314R.osm.pbf -o=suomi/S531.osm.pbf
osmconvert Error: node key string index overflow: 1,660>=412
osmconvert Error: node key string index overflow: 14,669>=412
osmconvert Error: node key string index overflow: 659,665>=412
osmconvert Error: node key string index overflow: 1,660>=432
osmconvert Error: node key string index overflow: 14,669>=432
osmconvert Error: node key string index overflow: 659,665>=432
osmconvert suomi/K4221L.osm.pbf --out-o5m|osmconvert - suomi/K4221R.osm.pbf --out-o5m|osmconvert - suomi/K4222L.osm.pbf --out-o5m|osmconvert - suomi/K4222R.osm.pbf --out-o5m|osmconvert - suomi/K4223L.osm.pbf --out-o5m|osmconvert - suomi/K4223R.osm.pbf --out-o5m|osmconvert - suomi/K4224L.osm.pbf --out-o5m|osmconvert - suomi/K4224R.osm.pbf -o=suomi/K422.osm.pbf
osmconvert Error: node key string index overflow: 14,1461>=1452
osmconvert suomi/P5341L.osm.pbf --out-o5m|osmconvert - suomi/P5341R.osm.pbf --out-o5m|osmconvert - suomi/P5342L.osm.pbf --out-o5m|osmconvert - suomi/P5342R.osm.pbf --out-o5m|osmconvert - suomi/P5343L.osm.pbf --out-o5m|osmconvert - suomi/P5343R.osm.pbf --out-o5m|osmconvert - suomi/P5344L.osm.pbf --out-o5m|osmconvert - suomi/P5344R.osm.pbf -o=suomi/P534.osm.pbf
osmconvert Error: node key string index overflow: 1,1628>=1510
osmconvert Error: node key string index overflow: 14,1642>=1510
osmconvert Error: node key string index overflow: 1627,1639>=1510
osmconvert suomi/X4341L.osm.pbf --out-o5m|osmconvert - suomi/X4341R.osm.pbf --out-o5m|osmconvert - suomi/X4343L.osm.pbf --out-o5m|osmconvert - suomi/X4343R.osm.pbf --out-o5m|osmconvert - suomi/X4344L.osm.pbf --out-o5m|osmconvert - suomi/X4344R.osm.pbf -o=suomi/X434.osm.pbf
osmconvert Error: node key string index overflow: 14,534>=278
osmconvert Error: node key string index overflow: 17,461>=278
osmconvert suomi/X5121L.osm.pbf --out-o5m|osmconvert - suomi/X5121R.osm.pbf --out-o5m|osmconvert - suomi/X5122L.osm.pbf --out-o5m|osmconvert - suomi/X5122R.osm.pbf --out-o5m|osmconvert - suomi/X5123L.osm.pbf --out-o5m|osmconvert - suomi/X5123R.osm.pbf --out-o5m|osmconvert - suomi/X5124L.osm.pbf --out-o5m|osmconvert - suomi/X5124R.osm.pbf -o=suomi/X512.osm.pbf
osmconvert Error: node key string index overflow: 14,658>=426
osmconvert Error: node key string index overflow: 17,659>=426
osmconvert suomi/R5421L.osm.pbf --out-o5m|osmconvert - suomi/R5421R.osm.pbf --out-o5m|osmconvert - suomi/R5422L.osm.pbf --out-o5m|osmconvert - suomi/R5422R.osm.pbf --out-o5m|osmconvert - suomi/R5423L.osm.pbf --out-o5m|osmconvert - suomi/R5423R.osm.pbf --out-o5m|osmconvert - suomi/R5424L.osm.pbf --out-o5m|osmconvert - suomi/R5424R.osm.pbf -o=suomi/R542.osm.pbf
osmconvert Error: node key string index overflow: 1,660>=607
osmconvert Error: node key string index overflow: 14,669>=607
osmconvert Error: node key string index overflow: 659,665>=607
osmconvert suomi/P4241L.osm.pbf --out-o5m|osmconvert - suomi/P4241R.osm.pbf --out-o5m|osmconvert - suomi/P4242L.osm.pbf --out-o5m|osmconvert - suomi/P4242R.osm.pbf --out-o5m|osmconvert - suomi/P4243L.osm.pbf --out-o5m|osmconvert - suomi/P4243R.osm.pbf --out-o5m|osmconvert - suomi/P4244L.osm.pbf --out-o5m|osmconvert - suomi/P4244R.osm.pbf -o=suomi/P424.osm.pbf
osmconvert Error: node key string index overflow: 1,765>=725
osmconvert Error: node key string index overflow: 14,834>=725
osmconvert Error: node key string index overflow: 764,833>=725
osmconvert Error: node key string index overflow: 14,834>=809
osmconvert Error: node key string index overflow: 764,833>=809
osmconvert suomi/T5241L.osm.pbf --out-o5m|osmconvert - suomi/T5241R.osm.pbf --out-o5m|osmconvert - suomi/T5242L.osm.pbf --out-o5m|osmconvert - suomi/T5242R.osm.pbf --out-o5m|osmconvert - suomi/T5243L.osm.pbf --out-o5m|osmconvert - suomi/T5243R.osm.pbf --out-o5m|osmconvert - suomi/T5244L.osm.pbf --out-o5m|osmconvert - suomi/T5244R.osm.pbf -o=suomi/T524.osm.pbf
osmconvert Error: node key string index overflow: 1,889>=407
osmconvert Error: node key string index overflow: 14,897>=407
osmconvert Error: node key string index overflow: 888,890>=407
osmconvert Error: node key string index overflow: 1,889>=720
osmconvert Error: node key string index overflow: 14,897>=720
osmconvert Error: node key string index overflow: 888,890>=720
osmconvert Error: node key string index overflow: 1,889>=538
osmconvert Error: node key string index overflow: 14,897>=538
osmconvert Error: node key string index overflow: 888,890>=538
osmconvert suomi/L3331L.osm.pbf --out-o5m|osmconvert - suomi/L3331R.osm.pbf --out-o5m|osmconvert - suomi/L3332L.osm.pbf --out-o5m|osmconvert - suomi/L3332R.osm.pbf --out-o5m|osmconvert - suomi/L3333L.osm.pbf --out-o5m|osmconvert - suomi/L3333R.osm.pbf --out-o5m|osmconvert - suomi/L3334L.osm.pbf --out-o5m|osmconvert - suomi/L3334R.osm.pbf -o=suomi/L333.osm.pbf
osmconvert Error: node key string index overflow: 1,1997>=1518
osmconvert Error: node key string index overflow: 14,2002>=1518
osmconvert Error: node key string index overflow: 1996,2003>=1518
osmconvert suomi/W5241L.osm.pbf --out-o5m|osmconvert - suomi/W5241R.osm.pbf --out-o5m|osmconvert - suomi/W5242L.osm.pbf --out-o5m|osmconvert - suomi/W5242R.osm.pbf --out-o5m|osmconvert - suomi/W5243L.osm.pbf --out-o5m|osmconvert - suomi/W5243R.osm.pbf --out-o5m|osmconvert - suomi/W5244L.osm.pbf --out-o5m|osmconvert - suomi/W5244R.osm.pbf -o=suomi/W524.osm.pbf
osmconvert Error: node key string index overflow: 14,333>=306
osmconvert Error: node key string index overflow: 17,334>=306
osmconvert suomi/W4323L.osm.pbf --out-o5m|osmconvert - suomi/W4323R.osm.pbf --out-o5m|osmconvert - suomi/W4324L.osm.pbf --out-o5m|osmconvert - suomi/W4324R.osm.pbf -o=suomi/W432.osm.pbf
osmconvert Error: node key string index overflow: 14,325>=320
osmconvert suomi/W3441L.osm.pbf --out-o5m|osmconvert - suomi/W3441R.osm.pbf -o=suomi/W344.osm.pbf
osmconvert Error: node key string index overflow: 1,511>=203
osmconvert Error: node key string index overflow: 14,527>=203
osmconvert Error: node key string index overflow: 510,523>=203

sdahlbac avatar Nov 10 '16 19:11 sdahlbac

Hämmentävä ongelma, yritän tutkia tarkemmin mistä tuo voisi johtua ja saada toistettua. Millaisella alustalla ja java-versiolla tuota ajat?

pailakka avatar Nov 10 '16 19:11 pailakka

OSX

java 1.8.0_92 ja olen ajanut nyt suoraan IntelliJ:stä

➜  ~ java -version
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)

jos keksit jotain lisää mistä voisi olla apua niin kerro.

  Model Name:   MacBook Pro
  Processor Name:   Intel Core i7
  Processor Speed:  2,8 GHz
  Number of Processors: 1
  Total Number of Cores:    4
  L2 Cache (per Core):  256 KB
  L3 Cache: 6 MB
  Memory:   16 GB

sdahlbac avatar Nov 10 '16 19:11 sdahlbac

Ajamalla osmconvert:ia --out-statistics noille virhettä antaville paloille pystyt löytämään tarkan tiedoston mihin tuo virheellinen stringtable on muodostunut. Ajamalla mtktogarminconverterin vain kyseiselle karttalehdelle saattaa tulla hiukan viisaammaksi, ainakin tällä tavalla pystyy tarkastelemaan paremmin mitä tapahtuu konvertterissa.

On Thu, 10 Nov 2016, 21:58 Simon Dahlbacka, [email protected] wrote:

OSX

java 1.8.0_92 ja olen ajanut nyt suoraan IntelliJ:stä

➜ ~ java -version java version "1.8.0_92" Java(TM) SE Runtime Environment (build 1.8.0_92-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)

jos keksit jotain lisää mistä voisi olla apua niin kerro.

Model Name: MacBook Pro Processor Name: Intel Core i7 Processor Speed: 2,8 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 6 MB Memory: 16 GB

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pailakka/mtk2garmin/pull/14#issuecomment-259791330, or mute the thread https://github.com/notifications/unsubscribe-auth/AFRZddEEbR_uNUFHu1Eg0CjrkLRNKx_Aks5q83dQgaJpZM4KmdRP .

pailakka avatar Nov 10 '16 20:11 pailakka

yes, hyvä idea, kokeilen.

sdahlbac avatar Nov 10 '16 20:11 sdahlbac

Tässä nyt listan alkupuolelta

➜  mtk2garmin git:(getting-started) ✗ osmconvert --out-statistics suomi/U5133R.osm.pbf
osmconvert Error: node key string index overflow: 1,889>=532
osmconvert Error: node key string index overflow: 14,897>=532
osmconvert Error: node key string index overflow: 888,890>=532
➜  mtk2garmin git:(getting-started) ✗ osmconvert --out-statistics suomi/U5134R.osm.pbf
osmconvert Error: node key string index overflow: 1,889>=494
osmconvert Error: node key string index overflow: 14,897>=494
osmconvert Error: node key string index overflow: 888,890>=494

Seuraavaksi varmaankin tuo convertointihärveli luomaan just noi tiedostot uudestaan ja ilmettelemään mitä se sanoo niitä tehdessä.

sdahlbac avatar Nov 10 '16 20:11 sdahlbac

Nyt olen ajanut noi kaksi erikseen tyyliin


            for (String fn : filenames) {
                if (!fn.contains("U5134R")) {
                    continue;
                }
...

Ja lisännyt vähän outputtia, en ole löytänyt mitään ihmeellistä.

MUTTA, nyt kun taas ajan osmconvert --out-statistics noille niin ei enää tuu tuota herjaa. Voisiko olla joku tila joka jää siivoamatta jos ajaa enemmän kun yksi kerrallaan?

Kokeilin ajaa myös noi kaksi palaa samassa ajossa, en saanut ongelmaa toistettua.

sdahlbac avatar Nov 10 '16 21:11 sdahlbac

Se on ihan hyvin mahdollista, jopa todennäköistä .

-Teemu

On Thu, 10 Nov 2016, 23:17 Simon Dahlbacka, [email protected] wrote:

Nyt olen ajanut noi kaksi erikseen tyyliin

        for (String fn : filenames) {
            if (!fn.contains("U5134R")) {
                continue;
            }...

Ja lisännyt vähän outputtia, en ole löytänyt mitään ihmeellistä.

MUTTA, nyt kun taas ajan osmconvert --out-statistics noille niin ei enää tuu tuota herjaa. Voisiko olla joku tila joka jää siivoamatta jos ajaa enemmän kun yksi kerrallaan?

Kokeilin ajaa myös noi kaksi palaa samassa ajossa, en saanut ongelmaa toistettua.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pailakka/mtk2garmin/pull/14#issuecomment-259809967, or mute the thread https://github.com/notifications/unsubscribe-auth/AFRZdRdL6iTAm8ldI2DFiS6q55ptNMz0ks5q84nYgaJpZM4KmdRP .

pailakka avatar Nov 10 '16 21:11 pailakka

Tämä on näköjään tarpeeksi saada virhettä toistumaan.

                if (!fn.contains("/T5") && !fn.contains("/U5")) continue;

Onko hyviä ideoita mitä seuraavaksi?

sdahlbac avatar Dec 02 '16 14:12 sdahlbac

Syynä tuohon taitaa olla ajatusvirhe siinä, että nyt noden tagit tallennetaan shortteina sen karttalehden stringtablen mukaan, missä node ensimmäisen kerran tuli vastaan. Jos/kun sama node tulee toistamiseen vastaan toisen karttalehden alueella, ei nuo ensimmäisen karttalehden stringtablen mukaiset string id:t enää täsmää.

Hyvinkin mysteeriseksi jää miksei tuota virhettä tullut itselläni vastaan kun vasta nyt kun muutin tuota rakennetta muutenkin järkevämmäksi. Alkuperäinen ajatusvirhe on vielä korjailematta, mutta palaan asiaan pikimmiten kun keksin toteutuskelpoisen korjauksen.

pailakka avatar Dec 02 '16 18:12 pailakka

Dodiin, juuri pushatulla versiolla sain ensin toistettua ongelman omassakin ympäristössä ja parin korjauksen jälkeen ei virhettä enää näkynyt. Lopputuloskin näyttää ehjältä.

pailakka avatar Dec 02 '16 18:12 pailakka

Kuulostaa hyvältä!

Mutta: Koitin päivittää uuteen masteriin, mutta tuosta StringTable tulee käännösvirheitä. Onkohan niin että tuo on uusi tiedosto joka on lisäämättä versiohallintaan? Koitin myös crosby.binary.Osmformat.StringTable mutta api ei täsmännyt.

sdahlbac avatar Dec 03 '16 14:12 sdahlbac

Pahoittelut, tuo oli tosiaan jäänyt pois. Nyt pitäisi löytyä.

pailakka avatar Dec 03 '16 16:12 pailakka