Hallå,
Följer tråden med stort intresse.
Kanske ett senare problem men vore det inte möjligt att använda HOTOSM:s 
tasking manager för att systematisera importen av innehållet av rutorna på 
5*5km? Vet dock inte hur aktiv http://tasks2.openstreetmap.se/ är längre. 
Annars finns ju alltid https://github.com/hotosm/tasking-manager
/Johan


> 28 apr. 2019 kl. 22:56 skrev Grigory Rechistov via Talk-se 
> <talk-se@openstreetmap.org>:
> 
> Hej igen!
> 
> I detta mejl tänker jag beskriva mina försök att lösa tidigare upptäckta 
> problem
> med sträckors självkorsningar och "knäppning" av nya sträckor till befintliga
> gränser.
> 
> I ett föregående mejl gav Karl-Johan mig en ny idé som jag också vill 
> utveckla vidare.
> 
> Tidigare skrev jag att vektordatat brukade innehålla flertal självkorsningar 
> på
> sträckorna. Jag förbättrade mina skript för att hitta och radera små "öglor"
> som var de vanligaste. Sedan blev läget med korta öglor bättre, men då började
> närliggande ytor krypa på varandra, typiskt med bara en nod som blev juuuust
> 0,0000001 grader till höger eller vänster till där den borde stanna.
> 
> Inga av sådana problem fanns i GRASS GIS-lagrena som jag använde inför 
> exporteringen
> till OSM-filer. Alla datarensningar som jag utförde i GRASS GIS rapporterade 
> inga
> problem.
> 
> Det förvirrade mig omåttligt tills jag märkte att GRASS GIS använde
> koordinater med 11 siffror efter kommatecken och sparade dem som GML-filer,
> varpå reducerade JOSM dem till 7 siffror [1]. Den reducerade precisionen
> ledde till att noder kunde flytta just lite gran men det kunde
> skapa nya överlappningar och självkorsningar.
> 
> Det betyder att alla fina databearbetningar som GRASS GIS och andra externa
> verktyg kan göra kan inte hjälpa om det sista steget tappar siffror. Och att
> de sista turen på datarensningen skulle utföras i JOSM, annars blir allt 
> värdelöst.
> 
> Det andra problemet som pekas ut av flera personer är att nya ytor ofta brukar
> överlappa med t ex bilvägar eller andra ytor såsom sjöar. Överlappandet är 
> alltid
> minimalt men ser irriterande ut och får aldrig något godkännande i 
> OSM-smhället.
> För att hjälpa med lösningen har olika GIS-system passande verktyg, för att
> knäppa noder till gemensamma gränser, eller att bryta polygoner
> om de korsar varandra och så vidare. JOSM saknar tyvärr liknande verktyg och
> dessutom kan inte knäppa noder i hela datalagret, endast enstaka objekt som
> väldes manuellt.
> 
> Man kan väl utföra datarensningen utanför JOSM?
> Men då behöver man ladda både baslagret och NMD-datalagret i t ex GRASS GIS så
> att den kunde känna till både gamla och nya objekt. Detta skulle kräva flertal
> dataformats konverteringar: från OSM till GRASS databas och tillbaka.
> De förstår inte varandras filformat.
> 
> Därför bestämde jag mig inte försöka göra några nodersknäppning eller 
> polygonbrytning
> i mina Python-skript — de är redan för långsamma och gynnar inte 
> återanvändning.
> Det kräver ett korrekt verktyg i korrekt plats, nämligen ett slags 
> insticksmodul
> för areors conflation in JOSM.
> 
> För att göra hela uppdraget mer hanterbart vill jag nu dela landets yta i ännu
> mindre delytor. Samtidigt vill jag vara mer försiktigt med datats automatiska
> utjämning. Om det ska bli möjligt vill jag även försöka att skapa bättra 
> verktyg
> för JOSM, istället för de nuvarande kassa Python-skripten som gör för grovt 
> jobb
> utan människas kontroll.
> 
> Så här är översikten.
> 
> 1. Skära landets/kommunernas yta i mindre jämna kvadrater 5x5 km.
>    Borde kvadraters sida vara 1 km? 25 km? dina förslag?
> 2. För varje kvadrat konvertera NMD-rastern till vektor.
>    Släta den sedan med Chaikens filter. Använd inte eller använd 
> sparsamt/varsamt
>    andra typer filter.
> 3. Konvertera vektorn till ett OSM-lager med samma taggningschema som förut.
> 4. För varje kvadrat hämta ett OSM-baslager från Geofabrik.
> 5. Använd inte några Python-skript för att markera några konflikter osv. Gör
>    datasammanblandningen manuellt i JOSM.
> 6. Använd bland annat sunt förnuft och olika JOSM-verktyg för att lösa alla 
> konflikter.
>    * Valideringsknappen för att upptäcka överlappande gamla/nya ytor och 
> övriga problem.
>    * "Contour Merge" samt "Flytta nod till sträcka" och "Slå ihop noder" — för
>      att se till att intilliggande ytor (t ex skog och sjö) inte överlappas.
>    * Radera-knappen - för att radera alla tvivelaktiga noder/sträckor.
>    * "Simplify Way", "Simplify Area" — för att minska antal noder, att släta
>      sträckor
> 7. Ladda upp ändringar till databasen och markera kvadraten som klar.
> 
> Några fördelar som jag ser med denna approach.
> 
> 1. Större kontroll under vad som kommer att laddas upp. En människa kan 
> visuellt
>    och manuellt kontrollera en lagom stor kvadrat under en rimligt tidsram.
>    Däremot med hela kommuner som kan vara väldigt stora är det påfrestande.
>    Det kan till och med ske att vissa uppladdningar inte ska
>    klassificeras som "import" alls: om en person sett på var och ett objekt i 
> changeseten.
> 
> 2. Mindre irriterande hål och artefakter efter utjämningen. Som jag upplever 
> det
>    ger Chaiken-filtret avsevärt mindre självkorsningar, korsningar och dylikt.
>    Sedan kan man tillämpa andra filter manuellt i enstaka fall till enstaka 
> sträckor
>    vid behov.
> 
> 3. JOSM blir mindre belastad med datat. Att öppna ett område lika stort som
>    Kirunas kommun orkar inte varje dator, men de flesta kan hantera 5×5 km.
> 
> 4. Problemet med jättemultipolygoner blir mindre sannolikt. Alla sträckor
>    blir sedan begränsade av en kvadrat 25 km².
>    Om hela kvadratens yta är t ex skog reduceras den till fåtal multipolygoner
>    som har deras yttre gränser vid kvadratens kant. Jo, det kan råka illa 
> ändå.
>    I det absolut värsta hypotetiska fallet kan det vika upp till en sträcka 
> med
>    250 000 noder (antalet pixlar i sådan kvadrat). Men då drabbas bara en 
> kvadrat
>    av det och olika åtgärder kan göras.
> 
> 5. Mindre antal konflikter per area som gör det enklare att lösa dem under
>    rimlig tid. JOSM skulle kunna lösa dem relativt snabbt, jämfört med det 
> fall
>    när man öppnar ett större lager.
> 
> Nackdelar och otydliga aspekter som jag ser nu.
> 
> 1. Det är svårare att ha koll vem gör vad. För att undvika dubbelarbete 
> behöver man
>    markera tydligt vilka kvadrater redan är klara, så att andra inte försöker
>    bearbeta dem på nytt.
> 
> 2. Med kvadrater som är 5×5 km blir det cirka 18000 stycken för att täcka 
> hela Sverige.
>    Men det är svårt att säga om det skapar mer arbete än det skulle behövas om
>    man försöker ta en kommun i taget: större områden leder till fler 
> konflikter
>    och längre bearbetningstider.
> 
> 3. Man kan automatiskt uppskatta hur bra en kvadrat i baslagret är kartlagd 
> med
>    "landuse" taggar, och sedan undvika att titta på de kvadrater som redan har
>    gott om skogar, åkermark eller täcks av bostadsområden. Tanken här är samma
>    som med kommuner, men granulariteten ökar.
> 
> 4. Nya effekter uppstår vid intilliggande kvadraters kanter. 291 kommuner har
>    ju enklare gränser än 18 tusen kvadrater. Men jämför det med hur vissa 
> människor
>    karterar större skogsområden: de delar dem ut i ungefär rektangulära delar.
>    När man blir trött och slutar med ritningen, blir dessa konstgjorda
>    skogsgränser kvar i kartan tills någon vill fortsätta. Så, ingenting nytt 
> här.
> 
> 5. Man behöver fortfarande lösa konflikter t ex mellan befintliga och nya 
> skogar
>    samt mellan intilliggande befintliga sjöar/vägar och nya skogar och 
> åkermark som
>    brukar "krypa" lite över varandra och överlappas. Oavsett hur stort område 
> sysslar
>    man med, för att hjälpa med sådana problem på riktigt, behöver man ha 
> tillgång
>    till verktyg för att sammanblanda areor. Liksom, `v.clean` i GRASS GIS som
>    har `break`, `rmarea`, `rmsa` osv.
> 
> Referenser:
> 
> 1. 
> https://gis.stackexchange.com/questions/320919/can-exporting-geodata-to-osm-data-format-with-less-precision-cause-self-intersec
> 
> 
> Med vänliga hälsningar,
> Grigory Rechistov
> With best regards,
> Grigory Rechistov
> _______________________________________________
> Talk-se mailing list
> Talk-se@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-se
_______________________________________________
Talk-se mailing list
Talk-se@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-se

Till