NL:3dShapes/Details
Technical details on the 3dShapes data and import method.
In Dutch.
Nomenclature
Objecttypes in 3dShapes zijn omschreven met een GGMODELK veld in de shapefile.
kleur in overlay | ggmodelk | alias | omschrijving | tag | opmerking |
---|---|---|---|---|---|
0 | woon_csbc | wonen - centrum stedelijk | building=yes | ||
1 | woon_gscd | wonen - groen stedelijk | building=yes | ||
2 | woon_lw | wonen - landelijk | building=yes | ||
3 | recr_verblijfsparken | recreatie - verblijf | building=yes | ||
4 | recr_dagrec | dagrecreatie | building=yes | ||
5 | werk_bedrijven | bedrijven | building=yes | ||
6 | werk_kantoren | kantoren | building=yes | ||
7 | werk_bedrijven | bedrijven (distributie) | building=yes | ||
8 | werk_zeehaven | havengebouwen | building=yes | ||
9 | natuur | natuur | landuse=forest | Kan ook zeewering/kribben zijn | |
10 | agr_AkkerTuin | akkerbouw | landuse=farm | Ook gebouwen, dus handwerk om die building=yes te maken | |
11 | agr_vee_grond | gebouwen voor veeteelt | building=yes | ||
12 | allerlei groen: sportvelden, bermen, weides | landuse=grass | Algemene tag: waar relevant is er bv landuse=meadow van te maken | ||
14 | agr_glastuinbouw | glastuinbouw | building=yes | Niet het gebied. Voor de laatste bestaat landuse=greenhouse_horticulture | |
15 | agr_vee_intensief | gebouwen voor veeteelt | building=yes | ||
16 | agr_boomgaard | boomgaard, bomen(rij), strand | landuse=orchard | Strand uiteraard hertaggen (natural=beach) voor het importeren. Bomenrijen langs wegen ook? Bij strand is het gebied tussen de hoogwater- en laagwaterlijn een aparte polygon. | |
17 | agr_kwekerij | gebouw bij kwekerij, maar ook: begraafplaats! | building=yes | Begraafplaatsen hertaggen! Gekozen voor building=yes, omdat begraafplaatsen beter te herkennen zijn t.b.v. hertagging naar landuse=cemetery | |
18 | infra_spoor | bv: stations, gebouwen op rangeerterreinen | building=yes | komt ook voor op reguliere huizen | |
19 | infra_weg | bv: tankstation, wegrestaurant | building=yes | komt ook voor op reguliere huizen | |
20 | infra_vliegveld | gebouw op/rond vliegveld | building=yes | ||
21 | bouwterrein | landuse=construction construction=building |
indien klaar: hertaggen als building=yes | ||
22 | buitenland | gebouwen in het buitenland | building=yes | '3dshape:note=Objecten buiten NL' kan eraf bij de import | |
23 | water | kanalen, rivieren, ander water | natural=water | 3dShapes is een set polygonen. Lineair water, zoals bv een sloot, zal vaak missen | |
26 | water | gebouwen | building=yes | ook gezien op gebouwen in het buitenland | |
27 | water | gebouwen met waterfunctie | building=yes |
Tagging
De bovenstaande GGMODELK waarde wordt overgedragen naar OSM als de '3dshapes:ggmodelk=*' tag. Verder is elk object getagd met 'source=3dShapes'. In de geconverteerde OSM data is bij de twijfelgevallen (zie tabel boven) een '3dshapes:note=*' veld toegevoegd. Mocht de gebruikte tag dan toch fout zijn, dan komt dit in ieder geval in de 3dshapes:note=* tag naar boven.
Datering
De dataset beslaat zo te zien een periode van enkele jaren, met de meest recente data van vroeg 2008. Er kunnen dus gebouwen inzitten die in de praktijk niet meer bestaan. Het is bijna onmogelijk om hier tijdens de import iets aan te doen. Op plekken waar duidelijk een nieuw stratenplan ligt voor een nieuwbouwwijk, is het natuurlijk beter te herkennen. Gebouwen die niet meer bestaan, kunnen in OSM uiteraard weer gewist worden.
Correctie
De ruwe 3dShapes shapefiles hebben door de makers een correctie toegepast gekregen, om ze beter te laten uitlijnen bovenop Google Earth foto's. Dit betekent dat de data gemiddeld 10 meter 'van hun plaats afligt'. Het converteren van deze ongecorrigeerde shapefiles naar OSM levert verkeerd uitgelijnde data op. Een set gecorrigeerde shapefiles is gegenereerd, voordat deze naar OSM-formaat zijn omgezet. De hint voor de methode om de correctie terug te draaien is aangeleverd door de donateurs van de dataset.
Import
De 3dShapes data wordt in OSM geïmporteerd onder de account '3dShapes'. In principe is het niet de bedoeling om de eerste upload van de data naar OSM te doen vanaf andere accounts. Dit wordt zo gedaan om de import beter herkenbaar en herleidbaar te maken.
De import van gebouwen wordt voornamelijk door User:Ldp verzorgd. Op dit moment (1 april 2010) is ca. de helft geïmporteerd. De import van water en landuse wordt ook door anderen gedaan. Aangezien dit meer werk is, is het nodig dat dit door meerderen gedaan wordt. Hier is een beschrijving van de procedure, ontwikkeld door User:Fsteggink.
Incomplete objecten
De complete dataset is opgedeeld in blokken. Op de randen van de blokken zijn objecten finaal doormidden afgekapt, en in het volgende blok staat dan de rest. Bij de import dient dit dan ook nog aan elkaar geplakt te worden. Soms is echter in het naastgelegen blok de rest van het object (meestal een gebouw) niet meer te vinden.
Indien dit herkend wordt, is dit object vaak getagd met '3dshapes:note=Incomplete building outline'. In veel gevallen, bij rechthoekige gebouwen, is het missende gedeelte later nog te reconstrueren.
Nabewerking
Na het importeren van gebouwen in een gebied waar ook bestaande gebouwen voorkomen, is het onvermijdelijk dat er overlappende gebouwen voorkomen. Deze zullen voornamelijk door lokale mappers opgeruimd kunnen worden. Zij kennen het gebied natuurlijk als de beste.
Een automatische rapportage in tabelvorm wordt regelmatig gemaakt, en is hier te zien. Er is ook een aantal speciale KeepRight tests gemaakt voor enkele 3dShapes-situaties, die in een aparte KeepRight database zitten.
Ronde gebouwen zitten in de 3dShapes met absurd veel nodes, in de orde van zo'n 360 nodes voor een gebouw van een 20-tal meter doorsnede. Deze kunnen door JOSM's Simplify Way functie worden gehaald, wat in de Utils-plugin zit. Standaard is deze simplify echter veel te grof (is bedoeld voor wegen, en er blijft in dit geval een ruit van 4 nodes over), maar de waarde simplify-way.max-error=0.1 geeft goede resultaten. Dan blijft er ongeveer 10% van de nodes over van zo'n gebouw, en is het nog steeds mooi rond. In JOSM zijn de ronde gebouwen ook mooi te selecteren door te zoeken naar nodes:150-2000, maar let op: ook normale, maar complexe gebouwen kunnen daar tussen zitten!
JOSM mappaint style
Als er geïmporteerd is, wil er nog weleens 'oude' en 3dShapes data over elkaar staan. Met wat simpele aanpassingen in de JOSM style kun je iets makkelijker het overzicht houden. Zo zijn met de volgende style de gebouwen, water en bomen van 3dShapes anders gekleurd. De bomen vooral omdat landuse=forest en landuse=grass dezelfde kleur heeft in JOSM. Kribben (man_made=groyne) en zand(verstuivingen) hebben geen standaardstijl in JOSM, maar aangezien ze wel in 3dShapes data voorkomen (ggmodelk=9 resp. 16), is het handig dat ze worden getoond bij het importeren / bewerken van data.
<rules author="Ldp;Fsteggink" shortdescription="3dShape style" description="Style to highlight some 3dShapes data" version="1.2_2010-10-01"> <rule> <condition k="building" /> <condition k="source" v="3dShapes" /> <area colour="#800080" priority="-100" /> </rule> <rule> <condition k="natural" v="water" /> <condition k="source" v="3dShapes" /> <area colour="#A080FF" priority="1" /> </rule> <rule> <condition k="landuse" v="forest"/> <area colour="#29c763" priority="1" /> </rule> <rule> <condition k="landuse" v="farm"/> <area colour="#EEEECC" priority="1" /> </rule> <rule> <condition k="landuse" v="orchard"/> <area colour="#FF0080" priority="1" /> </rule> <rule> <condition k="man_made" v="groyne"/> <area colour="#606070" priority="1" /> </rule> <rule> <condition k="man_made" v="reinforced_slope"/> <area colour="#707060" priority="1" /> </rule> <rule> <condition k="natural" v="sand"/> <area colour="#FFFF80" priority="1" /> </rule> </rules>
Deze style kun je lokaal in een 3dshapes.xml bestand opslaan, en dan vanuit JOSM inladen, via Preferences -> Map Settings -> Map Paint Styles.