Gebouwhoogte data

Hoi allen,

Sinds kort heeft het kadaster de hoogte data van gebouwen uit de TOP10NL beschikbaar gemaakt. Het lijkt mij een erg mooie toevoeging om deze data ook beschikbaar te maken in OSM.
Helaas ben ik zelf nog nieuw op het gebied van grootschalige imports in OSM, de scripts, software (nlextract etc) en de community regels. Daarom hoop ik dat jullie als experts mij hierbij kunnen helpen.
Daarom is mijn vraag, zijn er al mensen bezig met het beschikbaar te maken van deze data? Zo niet, zijn er experts die dit graag zouden oppakken, of is dit iets waar ik zelf een bijdrage aan kan leveren?

Bedankt!

Gebouw hoogte data:
http://www.kadaster.nl/web/artikel/producten/3D-gebouwhoogte-NL.htm

"Hoogte-attributen
De hoogten komen uit het Actueel Hoogtebestand Nederland (AHN2). De 4 attributen bevatten:

  1. de minimale hoogte van het gebouw (de hoogte op maaiveld)
  2. de maximale hoogte van het gebouw
  3. de gemiddelde hoogte van het gebouw
  4. de mediaan

De mediaan kunt u gebruiken om eventuele uitschieters in de data te negeren. Deze kunnen bijvoorbeeld ontstaan door geometrische verschillen tussen de gebouwen in TOP10NL en de bijbehorende hoogtepunten uit het AHN."

De data wordt aangeleverd in een 3GB groot gml bestand.

http://data.nlextract.nl/top10nl3d/README.txt

OSMART, we hebben weliswaar het BAG mogen importeren maar hoe staat het met deze rechten? En worden de gebouwen dan ook gelijk voorzien van levels (3D mapping) of wordt dat een latere slag die je gaat doen. Of zoek je medewerkers, dan is een vraag hier op zijn plaats denk ik.

Bedankt voor je reactie.
De hoogte data is vrij beschikbaar volgens de CC licentie:
You are free to:

Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material
for any purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow the license terms.

Mijn idee zou zijn om de hoogte data te kunnen gebruiken voor een betere 3D weergave. Maar hoe dit precies geïmplementeerd dient te worden weet ik niet.
Waar ik naar opzoek ben is dus iemand die hier al mee bezig is/wil danwel kennis waardoor ik mogelijk dit zelf kan doen (maar dit is misschien te hoog gegrepen?).

OSMART, kijk hier dan ook maar eens rond, http://wiki.openstreetmap.org/wiki/3D
Ik kom niet verder dan <3 levels en blijf maar op het maaiveld.

Hoi,

Ik heb een login gemaakt, want dit onderwerp is voor mij zeer actueel. Gisteren ben ik begonnen met een script te verfijnen dat gebruikt kan worden om OSM data te converteren in Blender scenes. Je kan via openstreetmap een gebied downloaden, wat dan in Blender als een reeks polygonen terecht komt.

De Top10NL data schijnt ook polygonen te bevatten op LOD1/LOD0 niveau, daar kan ook naar gekeken worden.

Mijn interesse is om de data te gebruiken om steden in NL te visualiseren. Ik kan programmeren, scripten en werken met blender en zou graag meehelpen in deze effort.

Wat je uit deze data kan halen is de totale hoogte. Er zijn standaards rond de gemiddelde hoogte per level (floor) van een gebouw, maar uiteraard kan dat veel verschillen. Je zou “building:levels” kunnen introduceren als deze niet bestaat voor het object, zodat deze niet overschreven wordt met observatie data (waarschijnlijk boven een bepaalde hoogte of afhankelijk gebouw type). Dan rest alleen maar een vuistregel op te stellen voor het bepalen van de level attribuut zelf adhv van ???.

Als je zoekt op github, kom je mijn naam tegen, het project heet blender-geo. Je kan in mijn repo het laatste script vinden. Ik heb deze geforkt van een originele auteur die ermee is begonnen. Je kan de laatste versie genereren met ‘python plugin-builder.py’, zodat je alleen 1 enkele file hoeft te importeren in blender.

Dus… als osm geupdate mag worden met deze data, wil ik graag meewerken aan dat project. De resultaten daarvan zijn dan direct bruikbaar voor het blender-geo visualisatie project.

uit link.

Voor zover ik begrepen heb, vanwege naamsvermelding problematiek, dat deze data niet meegenomen kan worden in de openstreetmap database, omdat andere, die data uit deze osmdata generen niet in staat zijn de naamsvermelding door te geven.
Vandaar ook het licentie gebruik van osm. Het moet geheel vrij zijn in gebruik en gebruik onder OSM licentie voorwaarden.

Kortom in te voeren data moet vrij zijn van naamsvermelding of voor openstreetmap vrij van deze vermeldingsverplichting zijn.

Da’s jammer. Deze licentie is alleen van betrekking op de TOP10 data, toch?

De AHN2 data zelf is volgens mij public domain:

https://creativecommons.org/publicdomain/zero/1.0/deed.nl

De 0.5m data is ontzettend groot en lijkt me voorlopig onhandig om gebouwhoogtes te bepalen. Een voordeel van deze resolutie is dat je de vorm van het dak erbij kan bepalen voor b.v de roof:* tags.

De 5m maaiveld data is beduidend kleiner en kan denk ik al gebruikt worden om de minimale gebouwhoogte te bepalen. Ik weet niet precies hoe die definities liggen, maar het lijkt erop alsof hier het raster gewoon “no data” geeft waar huizen staan, zodat je omringende samples moet gebruiken bij elk polygoon. Als je QGIS hebt kun je die raster data makkelijk visualiseren.

Dan moeten er 3 datastromen samenkomen: de originele polygonen van gebouwen, de 0.5 ongefilterde laserdata en de 5m maaiveld data. Door een polygoon tijdelijk 5-10 meter groter te maken zijn punten uit het maaiveld te samplen.

Los van de problematiek van de licentie, de hoogte van een gebouw kan gewoon in height. Als je de hoogte niet exact kent (in meters), dan kan je building:levels gebruiken.

Je kunt voor de hoogte van een gebouw ook altijd nog de oude teken methode volgen, steek je potlood of welke lengte tool je ook in handen heb omhoog en draai dit tot horizontaal en meet of pas het af ten opzichte van de andere panden. Met JOSM krijg je er een schitterend tooltje bij, zodat je de juiste hoogte maat hebt.

Ik heb dit weekend een hack ontwikkeld om gebouwhoogtes te bepalen adhv puntenwolk data en het maaiveld raster. Het betreft een klein stukje AHN2 data van Delft (nieuwe kerk/markt/gemeentehuis/maria van jesse, burgwal) om een render te maken in Blender. Resultaat eerst, dat praat makkelijker:

groter (HD):

https://raw.githubusercontent.com/gtoonstra/blender-geo/experiments_with_ahn/images/screenshot.jpg

Als je “bing” erbij pakt met vogelperspectief kun je de approximaties van gebouwhoogten al zien.

Er zijn 2 gebruikte producten:

  • de raster file van het maaiveld van 5m; dit is groot genoeg om het grond niveau te bepalen. Rond elk gebouw worden punten van het maaiveld gepakt, die gemiddeld worden.
  • de 5cm puntenwolk van uitgefilterde data. Deze bevat alles wat geen maaiveld is, dus bomen, daken, etc.

De 5cm puntenwolk heb ik lokaal opgeknipt in 200x200m stukjes om per perceel makkelijker te kunnen zoeken en data op te vragen.

De XML data van OSM kun je met python uitlezen en voor elk perceel dus bepalen wat zijn 2D polygoon is (in RD coordinaten), die gebruikt wordt om punten te zoeken uit de wolk en punten uit het maaiveld raster. Je kan dan met 2 approximaties een idee krijgen van de gebouwhoogte.

Met 5cm krijg je ongeveer 1000-2000 punten voor het dak. In deze hack heb ik spontaan het gemiddelde genomen (achteraf is het laagste punt beter, of het hoogste punt?). Dit hangt van de definitie van building:height af.

Met zo’n resolutie zou het dak zelfs reconstrueerbaar moeten zijn als een mesh, met daarna uiteraard veel decimatie om de mesh te versimpelen.

Op de nieuwjaarsborrel van 2015 heeft Frank Steggink een mooi filmpje laten zien op basis van ANH2 data. Tim van Helsdingen heeft op basis van deze aangeleverde data een mooie 3D impressie gemaakt.

2015 zou het jaar van 3D kunnen gaan worden.

http://youtu.be/u7wNP1fi0IY

Zoals Commodoortje aangeeft, ben ik daar inderdaad mee bezig geweest. Helaas ben ik sinds de nieuwjaarsborrel er niet meer aan toegekomen om er aan te werken. A.s. zaterdag ben ik van plan om naar de geo-doe-dag bij het ITC in Enschede te gaan (http://www.meetup.com/OSGeoNL/events/223014171/?a=co2_grp&gj=co2&rv=co2). Daar wil ik de draad weer oppakken.

De 3D hoogtes heb ik bepaald a.d.h.v. de AHN2 en BAG. De gebouwen uit OSM komen ook uit de BAG, dus in principe komt dit op hetzelfde neer. Ik heb als basis de rasters gebruikt, maar nog niet de puntenwolk. Daar wil ik in de toekomst nog wel mee aan de slag gaan. Zie de presentatie voor meer info.

Als een van de outputformaten heb ik OBJ gebruikt. Hiermee zijn de gebouwen die ik met een Python-script genereer in Blender in te lezen.