NL:3dShapes/Details

From OpenStreetMap Wiki
Jump to navigation Jump to search

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.