[Talk-se] Naturvårdsverkets nya Nationella MarktäckeData

Grigory Rechistov ggg_mail at inbox.ru
Sat May 4 21:27:22 UTC 2019


Hej!

> Här finns en annan intressant importstrategi med tasking manager-filer som output.
Tack, det ska jag läsa igenom och försöka tillämpa om det är möjligt till var import.
Tydligen är vi inte första som sysslar med en import av stängda sträckor
(såsom byggnaders avtryck). Men det är svårt att hitta någon med tidigare
erfarenhet i detta som vill hjälpa till, och alla inte är vänliga med goda
konstruktiva råd på huvudimportlistan.

Jag skrev i mitt inlägg [0] hur jag fortsatte med databearbetningen. Den nya
importenheten blivit en tile (ruta) som är ungefär 0,1 × 0,1 grader stor. En
typisk kommun täcks av tiotals sådana rutor. Den nya approachen använder en
rastermask skapad från befintliga OSM-vektordatan. Det är betydligt enklare och
mer robust att maskera importdatat i rasterformen än att försöka slå ihop onödiga
färdiga vektorer som förut. Nu splittrar jag kommuner i rutor som är mindre och
smidigare att jobba med.

Observera att samtliga rutor skapar en större rektangulära begränsningsbox som
täcker en kommun, inte just ytan inom kommunens gräns. Det finns därför möjlighet att
samma kvadrat hamnar i två olika uppsättningar på intilliggande kommuner.

Jag fortsätter med Katrineholms kommun. Den kommunen har några passande egenskaper
för att testa min nya approach: 1) dess yta är redan ⅔ kartlagd med markanvändning
men den har stora "vita" områden kvar; 2) den har flera sjöar och några mindre
bostadsområden; 3) den är lagom stor. Jag fick 45 rutor (9×5) av den, och jag
förväntar mig att ungefär 10-20 rutor ska kräva uppladdningen i slutet med något
nytt data i dem.

Vänligen inspektera de OSM-filer ([1], [2]) som jag vidare beskriver. Samtliga
OSM-filer för rutor inom Katrineholms kommun finns här: [7], så att ni kan
redigera och ladda dem upp om ni vill.

Härnäst kommer beskrivningar på de två rutor som jag nu sysslar med. Jag röjde
bort alla varningar som JOSM rapporterade för dem och nu håller jag på att
även städa de tillfällen som någon må känna igen som varningar.

1. En ruta nära Värhulta ö: OSM fil [1], tile 0233-002_005.
Den här området har bara 1750 objekt efter importen (det täcks i huvudsak av en
stor sjö). Det gick enkelt att manuellt rätta till samtliga JOSM-varningar (runt
10 stycken) och olika överlappningar som såg fullt ut.
Om det finns inga invändningar vill jag ladda upp datat för den här rutan inom
ett par dagar.

2. En ruta runt Långtvaren: OSM fil [2], tile 0233-001_001.
Det här området har ungefär 87.000 objekt varav drygt 2600 sträckor. Det är
i princip heltäckt av skog och flera mindre sjöar.
Det rapporterades ursprungligt 41 varningar som krävde manuell lösning.

Jag eftersträvade inte lösa alla varningar som rapporterades för området utan
bara de som orsakades av nya importdata. Efter mina ändringar har rutan
fortfarande ett par överlappande vattenytor som varit där förut: Stora Onsjön och
en våtmark i närheten.

Mina tankar och observationer på dessa två rutor. De byggs på mina tidigare
notiser i [0].
1. Importdatats upplösningen stämmer *avsevärt* bättre med flygplansbilder än
   vissa befintliga polygoner. Jämför Hjälmarens kustlinje i [1] med en skogslinje
   taggad med "source=NV NMD2018". Den gamla kustlinjen är grov medan de nya
   skogarna skapar en fin linje.
   Ett annat exempel var D717 [5] som dåligt stämde med både flygplansbilderna och
   importdatat. Jag behövde justera dess några noder så att vägen skulle passera
   genom skogspartier utan någon överlappning.
   Man behöver därför växla mellan redigeringen på importdatat och justeringen
   på de befintliga sträckorna. Jag tror att linjära objekt som kustlinjer, bilvägar
   och dylika inte tillhör importen och därför bör redigeras i sina egna
   ändringsuppsättningar. Men det är bara min önskan till mig själv.

2. Importdatat bidrar med nya pyttesmå holmar (som fläckar skogsområde) i sjöar.
   Som sagt förut borde sådana öar markeras som inre sträckor hos motsvarande
   sjömultipolygoner. Det ämnar jag göra med ett enskilt redigeringssteg som
   förekommer efter importdatat för ett ruta har laddats upp, inte samtidigt med
   första uppladdningen. Att markera holmar som multipolygoners delar är ingen
   brådska och inget stort fel att behålla dem "simmande" i en sjö för närvarande.

3. Tomter på landet med byggnader som inte redan är kartlagda på OSM får
   brokiga små markanvändningspolygoner. Till exempel fylls en typisk bondgård
   (några bodar, ett hus) av flera små "landuse=grass" eller "landuse=farmland"
   polygoner som försöker fylla in alla tomma utrymmen mellan byggnader.
   Huvudsakligen tenderar det att omringa vart och ett träd i ett bostadsområde
   med "landuse=forest". Det är ingen nytta i detta. Jag föreslår att rensa manuellt
   sådana tillfällen. Om man vill kan man rita hus som nästa steg oberoende
   på importen.
   Observera att importdatat inte brukar krypa på redan kartlagda byggnader eftersom
   sådana områden var "förbjudna" under vektoriseringstiden.

4. Jordbruksmarks och skogs sågliknande kanter längs motorvägar. Det är därför
   att jag inte längre tillämpar några ytterligare filter efter Chaiken. Tanken
   är att selektivt förenkla få sträckor är snabbare än att kämpa mot
   självkorsningar som dyker upp överallt.

5. Dubbla gränser mellan sjöar och skogar. Man ser dem tydligast på [2] där det
   finns flera sjöar omgivna av skogar. I JOSM sammanfogar man sådana närliggande
   sträckor med "ContourMerge"-insticksmodulen [6].
   Jag utvecklar nu ett verktyg "Snap New Nodes" [4] som ska knäppa noder av
   utvalda sträckor till närliggande sträckor. Jag vill fixa några brister i
   insticksmodulen och sedan vill jag distribuera den till de som vill använda den.
   Just nu kan den knäppa noder till polygoner, men den ignorerar multipolygoners
   gränser och har inte någon progressbar (endast loggmeddelanden). Det kraschar
   dock inte för mig, som är åtminstone schysst, och jag tycker om JOSM's källkods
   kvalité.

Jag ska utforska den approachen som egil tidigare skrev om, men för tillfället
för att se till att två personer samtidigt inte redigerar samma kvadrat i
Katrineholms kommun, använd gärna den följande kalkylarket: [3].

Tekniska detaljer om operationssekvensen som används. Nuförtiden använder jag
endast ett Chaiken-filtret och mitt egna lilla "trappborttagningsfilter". Det
gör att den resulterande vektorn stämmer bäst med flygplansbilder
(Bing, DigitalGlobe osv.) och har inga konstiga "genvägar" som orsakar flertal
självkorsningar och några överlappningar som nu går att undvika.
Antal självkorsningar brukar vara minimalt. Nackdelen är att datafils storlek
blir nästan två gånger större samt att man behöver utjämna manuellt vissa artefakter.


       sverige.tif         sverige-mask.tif
            +                     |
            |                     |
            v                     v
make-kommun-tiles.py       make-kommun-tiles.py
           |                      +
           |                      |
           v                      v
      tiles.tif               tile|mask.tif
            +                     |
            +----------+     +----+
                       v     v
                gdal-polygonize.py

                v.in.org

     v.generalize filter=chaiken threshold =20

                v.out.ogr

                nmd-gml-to-osm.py

                filter-osm threshold = 12
                    +
                    |
                    v
                load into JOSM
                    +
                    |
                    v
                fix warnings
                    +
                    v                   existing OSM data layer
               merge layers <-------------+
                    +
                    |
                    |
                    v
                fix warnings after merge
                    +
                    |
                    |
                    v
                  upload


Källor

0. https://lists.openstreetmap.org/pipermail/imports/2019-April/005990.html
1. https://atakua.org/p/nmd/0233/0233-002_005-work-in-progress.osm.bz2
2. https://atakua.org/p/nmd/0233/0233-Katrineholms_001_001-work-in-progress.osm.bz2
3. https://docs.google.com/spreadsheets/d/1Qa9n9WiVt_bn5BWMnkUtSviaomAfg5JwGNfCTao6fUY/edit?usp=sharing
4. https://github.com/grigory-rechistov/snapnewnodes
5. https://www.openstreetmap.org/changeset/69881752
6. https://wiki.openstreetmap.org/wiki/JOSM/Plugins/ContourMerge
7. https://drive.google.com/open?id=1noQoPTIt3xYafUdXUBCYJd-vU1xoDmzP



>Пятница,  3 мая 2019, 23:58 +03:00 от egil <egil at riseup.net>:
>
>Hej på er
>Här finns en annan intressant importstrategi med tasking
>      manager-filer som output. https://www.openstreetmap.org/user/itsamap!/diary/152909
>Kanske är detta bästa vägen även för denna import?
>(det möjliggör att ha denna data som underlag under lång tid
>    framöver för folk som vill kartlägga landuse genom att utgå från NMD
>    som grund om dem tycker det är lättare.)
>
>Se "merge workflow" som beskrivs här: https://wiki.openstreetmap.org/wiki/Import/Catalogue/US/BingBuildings#Data_Merge_Workflow
>
>Mvh
>

Med vänliga hälsningar,
Grigory Rechistov
With best regards,
Grigory Rechistov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/talk-se/attachments/20190505/b4f77743/attachment-0001.html>


More information about the Talk-se mailing list