Idee om wat met BAG te gaan doen

De BAGviewer is vernieuwd, waardoor inmiddels ook de nevenadressen zichtbaar zijn geworden, zie https://www.pdok.nl/nl/actueel/nieuws/artikel/21jan15-kadaster-lanceert-nieuwe-bag-viewer. Het zou mooi zijn om die nevenadressen tzt ook in OSM te krijgen. Daarnaast is de plugin offline, er wordt aan gewerkt.

Gertjan heeft de ODS plugin voor JOSM voorzien van een bugfix waardoor het downloaden van data uit de BAG weer lukt. Versie 0.5.1 kun je hier downloaden: http://46.249.37.15/ODS/ODS%200.5.1.zip

Mooi werk Gertjan!

Bij het opstarten prompt de plugin om te upgraden naar 0.5.11 om daarna te crashen met de volgende exception:


INFO: loading plugin 'jts' (version 30892)
INFO: loading plugin 'geotools' (version 30892)
INFO: loading plugin 'opendataservices' (version 0.5.1)
INFO: loading plugin 'openservices' (version 0.2.2)
INFO: loading plugin 'utilsplugin2' (version 30892)
INFO: loading plugin 'ods-bag' (version 0.5.1)
java.lang.ClassCastException: org.openstreetmap.josm.plugins.openservices.wfs.WFSHost cannot be cast to org.openstreetmap.josm.plugins.ods.Host
        at org.openstreetmap.josm.plugins.ods.ODS.registerHost(ODS.java:73)
        at org.openstreetmap.josm.plugins.ods.ConfigurationReader.configureHost(ConfigurationReader.java:108)
        at org.openstreetmap.josm.plugins.ods.ConfigurationReader.configureHosts(ConfigurationReader.java:89)
        at org.openstreetmap.josm.plugins.ods.ConfigurationReader.read(ConfigurationReader.java:52)
        at org.openstreetmap.josm.plugins.ods.bag.BagImportPlugin.<init>(BagImportPlugin.java:38)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.openstreetmap.josm.plugins.PluginInformation.load(PluginInformation.java:328)
        at org.openstreetmap.josm.plugins.PluginHandler.loadPlugin(PluginHandler.java:589)
        at org.openstreetmap.josm.plugins.PluginHandler.loadPlugins(PluginHandler.java:651)
        at org.openstreetmap.josm.plugins.PluginHandler.loadLatePlugins(PluginHandler.java:691)
        at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:432)
ERROR: org.openstreetmap.josm.plugins.PluginException: An error occurred in plugin ods-bag. Cause: java.lang.reflect.InvocationTargetException. Cause: java.lang.RuntimeException: java.lang.ClassCastException: org.openstreetmap.josm.plugins.openservices.wfs.WFSHost cannot be cast to org.openstreetmap.josm.plugins.ods.Host. Cause: java.lang.ClassCastException: org.openstreetmap.josm.plugins.openservices.wfs.WFSHost cannot be cast to org.openstreetmap.josm.plugins.ods.Host
org.openstreetmap.josm.plugins.PluginException: An error occurred in plugin ods-bag
        at org.openstreetmap.josm.plugins.PluginInformation.load(PluginInformation.java:331)
        at org.openstreetmap.josm.plugins.PluginHandler.loadPlugin(PluginHandler.java:589)
        at org.openstreetmap.josm.plugins.PluginHandler.loadPlugins(PluginHandler.java:651)
        at org.openstreetmap.josm.plugins.PluginHandler.loadLatePlugins(PluginHandler.java:691)
        at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:432)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.openstreetmap.josm.plugins.PluginInformation.load(PluginInformation.java:328)
        ... 4 more
Caused by: java.lang.RuntimeException: java.lang.ClassCastException: org.openstreetmap.josm.plugins.openservices.wfs.WFSHost cannot be cast to org.openstreetmap.josm.plugins.ods.Host
        at org.openstreetmap.josm.plugins.ods.bag.BagImportPlugin.<init>(BagImportPlugin.java:47)
        ... 9 more
Caused by: java.lang.ClassCastException: org.openstreetmap.josm.plugins.openservices.wfs.WFSHost cannot be cast to org.openstreetmap.josm.plugins.ods.Host
        at org.openstreetmap.josm.plugins.ods.ODS.registerHost(ODS.java:73)
        at org.openstreetmap.josm.plugins.ods.ConfigurationReader.configureHost(ConfigurationReader.java:108)
        at org.openstreetmap.josm.plugins.ods.ConfigurationReader.configureHosts(ConfigurationReader.java:89)
        at org.openstreetmap.josm.plugins.ods.ConfigurationReader.read(ConfigurationReader.java:52)
        at org.openstreetmap.josm.plugins.ods.bag.BagImportPlugin.<init>(BagImportPlugin.java:38)
        ... 9 more

Dit is met josm-tested 7906.

Ook zie ik de changes voor 0.5.1 nog niet terug in de git repo, misschien iets te vroeg gereleased?

Neemt de ODS_BAG geen adres nodes mee.

Ik heb de twee files op de juiste plaats gekopieerd/overschreven.
Nu geeft JOSM aan dat er een nieuwere versie 0.5.11
In the preference staat 0.5.1
Unchecked herstart, kreeg weer de melding.
Checked plugin ok herstart weer deze melding. ok gedrukt

Nog een keer een gebiedje opgehaald krijg ik alleen maar adresnodes en geen gebouwen.

?

Ik heb hem getest met JOSM 7906. Bij mij gisteren (= uur geleden) geen probleem. Nu alleen de opmerking dat hij 0.5.11 wil gebruiken. Verder heb ik geen issues, zowel adresnodes als gebouwen worden opgehaald.

Het leek me wel een goed idee om hetvolgende hier te vragen.

Ik ben een map aan het ontwerpen met TileMill en gebruik hiervoor de OSMBright template.
Als bron heb ik een postgres database ingeladen met osm2pgsql (http://switch2osm.org/serving-tiles/manually-building-a-tile-server-14-04/)
Hiervoor heb ik de PBF van Nederland ingeladen (http://download.geofabrik.de/europe.html)

In de OSMBright template zitten standaard geen huisnummers dus ik ben wat gaan rommelen om dit voor elkaar te krijgen.
Nou viel het mij op dat addr:housenumber maar voor een heel klein percentage is gevuld (48192 van de 11758076 items in de tabel planet_osm_polygon) waarbij wel alle gebouwen netjes te zien zijn.

Ik hoopte dat deze informatie in het PBF bestand zou zitten.
Is dit aanwezig in het orgineel van OSM en is dit niet meegenomen tijdens de extractie bij geofabrik, of moet ik hier zelf extra informatie van de BAG inladen?

De adressen zijn als losse nodes ingeladen en niet op de gebouwen geplaatst, dus je kunt ze vinden in planet_osm_point, niet planet_osm_polygon.

Hier de relevante code van de Default rendering:

{
      "name": "housenumbers",
      "srs-name": "900913",
      "geometry": "point",
      "class": "",
      "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
      "Datasource": {
        "extent": "-20037508,-20037508,20037508,20037508",
        "table": " (SELECT way,\"addr:housenumber\", way_area FROM planet_osm_polygon WHERE \"addr:housenumber\" IS NOT NULL AND building IS NOT NULL\n UNION\n SELECT way,\"addr:housenumber\", NULL AS way_area FROM planet_osm_point WHERE \"addr:housenumber\" IS NOT NULL\n ORDER BY way_area DESC\n ) AS housenumbers",
        "geometry_field": "way",
        "type": "postgis",
        "key_field": "",
        "dbname": "gis"
      },
      "extent": [
        -180,
        -85.05112877980659,
        180,
        85.05112877980659
      ],
      "id": "housenumbers",
      "advanced": {}
    },

#housenumbers {
  [zoom >= 17] {
    text-name: "[addr:housenumber]";
    text-placement: interior;
    text-min-distance: 1;
    text-wrap-width: 0;
    text-face-name: @book-fonts;
    text-fill: #444;
    text-size: 9;
  }
}


Fantastisch, super bedankt!

De typefout met 0.5.11 ipv 0.5.1 heb ik hersteld.
Krijg je deze foutmelding met de jar bestandan die Johan heeft geupload? Dan vind ik het erg vreemd dat jij hem wel krijgt en Johan en ik niet.

Wat Github betreft: ik nog met git aan het worstelen om de structuur van de branches goed te krijgen. Daarom is github inderdaad nog niet up-to date.

Bij mij werkt het goed met de de adresnodes. In welk gebied gaat het bij jou fout?

Ik had een gebied met een aantal huizen bij Steenwijk Onna getekend. Deze wilde ik ophalen.
Zoals ik al scheef: "Ik heb de twee files op de juiste plaats gekopieerd/overschreven. " En toen JOSM open en kreeg de 0.5.11 melding ok en geen adresnodes.

Nu vanmorgen, PC is uit geweest Windows opgestart, kreeg ik eerst de 0.5.11 melding. Daarna later dat grotere blok melding An unexpected exception occurred … opendataservice…etc.

Nu net voor dat ik dit lees, heb ik opendataservices en osmbag plugin geunchecked, ok, JOSM afgesloten en opgestart, plugin geactiveerd, dit keer imagery Openstreetmap (mapnik) aangezet Anders altijd eerst Bing.

En voila klein polygon getekend download en alle data binnen, dus ook adresnodes en huizen op bag laag.

JOSM 7906 W7

en dan

Nu sluit ik ods-bag af, disable, sluit JOSM af.
Open JOSM, zet imagery Bing maps aan, deze verschijnt , zet ODSbag aan, enable, teken polygon in ODS polygons en haal dat op openstreetmap bag alleen huizen GEEN adresnodes.
DOE IK nog eens precies hetzelfde met Bing, heb ik WEL adresnodes maar GEEN huizen.

Doe ik hetzelfde dan met vooraf aanzetten Openstreetmap (Mapnik) laag, Geen huizen Wel adresnodes.

nu heb ik dat kleine polygon opgeslagen. Om zonder kaart te openen.
En voila, na download heb ik WEL huizen Wel adressen in de BAG laag.
JOSM afsluiten.
Doe ik wederom, met vooraf BING laag aanzetten, heb ik WEL huizen, GEEN adressen.
Nogmaals zonder laag heb ik geen van beide. oeps JOSM afgesloten zonder disable ODS
Probeer ik het nogmaals zonder laag krijg ik wederom de melding.

En ik ben weer terug bij af.

Ik kom nu ook vergelijkbare problemen tegen. Het lijkt er op dat de plug-in soms de XML niet herkend die hij terug krijgt van de WFS service. Op het eerste gezicht lijkt me dit los te staan van de update van de plug-in, maar ik moet er dieper in duiken om het verder uit te zoeken.

Mag er verschil in het afsluiten zijn, het vooraf disable ODS en daarna, JOSM afsluiten, of direct JOSM afsluiten, heeft dit invloed bij het opnieuw opstarten van JOSM?

Daar zou geen verschil tussen mogen zijn. Bij afsluiten van JOSM wordt eerst ODS afgesloten en ODS slaat niets op behalve het laatst gedownloade gebied.

Ook bij mij zijn af en toe soortgelijke probleempjes.
Maar het valt me ook op dat niet altijd de geselecteerde polygon wordt gedownload. Soms pakt de plugin een gebied van een vorige polygon.

Even opmerking: Het door mij getekende polygon van een paar huizen ligt binnen een ander veel groter polygon die ik gebruikt heb voor de BAG -import.

De functionaliteit werkt bij mij (JOSM 7906) nog steeds net als in de goeie ouwe tijd (= vorig jaar). Wie heeft er een gebied (plaats + straatnaam) voor me dat ik kan testen?

dit gebied daar heb ik de problemen

Ook ik heb dit gebied met de plug-in ingeladen, geen problemen ervaren.
Tevens wil ik aangeven dat mijn bijdrage 1x of 2x voorgekomen is (een actieve polygon werd niet ingeladen, terwijl deze wel geselecteerd was, wel werd een ander stukje ingeladen. Vermoedelijk een voorgaande actieve polygon)

Omdat mijn bijdrage niet concreet is, wil ik aangeven dat dit een incident is geweest. En misschien wel een gebruikersfout van mijn kant.

Het niet inlezen van adresnodes of wel niet inlezen van panden kan natuurlijk ook komen omdat de BAG data niet goed gevuld is als brondata.
@Allroads: geeft jouw aangegeven voorbeeld structureel een download probleem?

Misschien zou je kunnen proberen om even preferences.xml (C:\Users\gebruikersnaam\AppData\Roaming\JOSM) te renamen naar preferences_backup.xml
Als je daarna JOSM start zijn alle gemaakte instellingen weg, en zou je met een schone JOSM kunnen testen.
Natuurlijk kun je daarna je preferences_backup.xml weer terug renamen naar preferences.xml.

Anders wordt het echt zoekwerk voor Gertjan, en omdat de ervaring niet structureel is, is dat natuurlijk vrij lastig om te debuggen.