{"id":416,"date":"2017-06-30T15:58:18","date_gmt":"2017-06-30T15:58:18","guid":{"rendered":"http:\/\/blog.geofabrik.de\/?p=416"},"modified":"2017-06-30T15:58:18","modified_gmt":"2017-06-30T15:58:18","slug":"changes-to-the-openstreetmap-inspector","status":"publish","type":"post","link":"https:\/\/blog.geofabrik.de\/index.php\/2017\/06\/30\/changes-to-the-openstreetmap-inspector\/","title":{"rendered":"Changes To The OpenStreetMap Inspector"},"content":{"rendered":"<p><img decoding=\"async\" title=\"\" alt=\"Places View of OpenStreetMap Inspector\" src=\"\/wp-content\/uploads\/2017\/06\/osmi-places-errors.png\" \/><\/p>\n<p>We have rolled out some changes to the OpenStreetMap Inspector in the last days. They affect the views <em>Geometry<\/em>, <em>Tagging<\/em>, <em>Places<\/em> and <em>Highways<\/em>.<\/p>\n<p>From now on the data which powers the rendering of these views is generated by a tool called <em>osmi_simple<\/em>views. We released its code <a href=\"https:\/\/github.com\/geofabrik\/osmi_simple_views\">on Github<\/a> under GPLv3. It&#8217;s a C++ program which uses the <a href=\"http:\/\/osmcode.org\/libosmium\/\">libosmium<\/a> library by Jochen Topf to read the planet and work with the objects in it, and <a href=\"http:\/\/gdal.org\/\">GDAL<\/a> to write the errors to a Spatialite database (other formats are also possible, but not properly tested). It generates one Spatialite file per view. It&#8217;s open source and you can run it on your own.<\/p>\n<p>The Spatialite database is copied from a processing server at Hetzner&#8217;s data centre to the machine where all our tools available at <a href=\"http:\/\/tools.geofabrik.de\">tools.geofabrik.de<\/a> are hosted on. It uses the Spatialite file as a data source for the WMS service (Mapserver).<\/p>\n<p>While the main goal was to reimplement things in C++ (instead of Perl and C previously), we changed some things which we want to explain here. Have a look at the OpenStreetMap Wiki where the <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/OSM_Inspector\">full documentation<\/a> of the views is located.<\/p>\n<h2>Geometry<\/h2>\n<p>This <a href=\"http:\/\/tools.geofabrik.de\/osmi\/?view=geometry\">view<\/a> (<a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/OSM_Inspector\/Views\/Geometry\">documentation<\/a>) shows errors and potential errors regarding the geometry of ways.<\/p>\n<ul>\n<li><em>Ways with long segments<\/em> displays ways which have very long segments between two nodes. The threshold for what counts as &#8220;very long&#8221; as been changed from 0.3 degrees (previously) to 20\u00a0km.<\/li>\n<li><em>Duplicate node in way<\/em> used to only flag ways that contained the same node twice in sequence, and has been extended to also flag ways that contain two different nodes which share the same location.<\/li>\n<li>We increased the minimum zoom level of some layers to speed up rendering on low zoom levels.<\/li>\n<\/ul>\n<h2>Tagging<\/h2>\n<p>Tagging errors and strange tags are shown by the <a href=\"http:\/\/tools.geofabrik.de\/osmi\/?view=tagging\">Tagging view<\/a> (<a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/OSM_Inspector\/Views\/Tagging\">documentation<\/a>).<\/p>\n<ul>\n<li>The layer <em>Misspelled key<\/em> has been removed. Some of the functionality is provided by the &#8220;Similar&#8221; tab in Taginfo. Just search for a well known key on Taginfo and open the <em>Similar<\/em> tab of this key. It looks like <a href=\"https:\/\/taginfo.openstreetmap.org\/keys\/building#similar\">this<\/a> for the key <em>building<\/em>.<\/li>\n<li>The layer <em>Tagged with FIXME<\/em> was modified. It shows every node and way which has <code>fixme=*<\/code> and <code>todo=*<\/code> or which has any key with the value <code>fixme<\/code>. This means that <code>fixme=continue<\/code>, fiXme=<code>something<\/code>, or <code>highway=FixMe<\/code> are shown. Values which contain <code>fixme<\/code> preceeded or followed by different characters are not shown any more to reduce the number of false positives.<\/li>\n<\/ul>\n<p>Please keep in mind that the Tagging view is no invitation to do mechanical edits like changing all occurences of a wrong-spelled tag using the search&amp;replace feature of your favourite editor. Please review all the objects manually, look into their history and check why they were written wrong. Maybe you will uncover a much larger problem which should be fixed at its roots instead by just cutting of the parts above ground. Read OpenStreetMap&#8217;s <a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/Automated_Edits_code_of_conduct\">guideline<\/a> for mechanical edits.<\/p>\n<h2>Places<\/h2>\n<p>Places are a core feature of many maps and good data of places in OSM is important. But not only names are important, population numbers are a rather objective method to classify places of equal category and help map renderers to prefer the larger of two neighbouring cities.<\/p>\n<p>The <a href=\"http:\/\/tools.geofabrik.de\/osmi\/?view=places\">Places view<\/a> (<a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/OSM_Inspector\/Views\/Places\">documentation<\/a>) is a special-topic map showing places and only places above or without a base map. It highlights missing names and anomalies in the data.<\/p>\n<ul>\n<li>This view now also supports <code>place=neighbourhood<\/code> and <code>place=hamlet<\/code>. They are not flagged as &#8220;unknown value&#8221; any more. We added two new layers for them.<\/li>\n<li>The layer <em>population number format<\/em> was merged into <em>population not a number<\/em> as part of the rewrite. Every object is flagged if the value is not a plain number. The number must be an integer equal to or larger than 0 and must not be prefixed or followed by any characters \u2013 not even spaces \u2013 to make it easier for data users to parse the number.<\/li>\n<li><em>Unusual population size<\/em> was extended by some <a href=\"https:\/\/github.com\/geofabrik\/osmi_simple_views\/blob\/master\/src\/places_handler.cpp#L162\">more checks<\/a>.<\/li>\n<li>We increased the minimum zoom level of some layers to speed up rendering on low zoom levels.<\/li>\n<\/ul>\n<h2>Highways<\/h2>\n<p>How should you reach a place if there is no way (<code>highway=*<\/code>)? Some checks are done by our <a href=\"http:\/\/tools.geofabrik.de\/osmi\/?view=highways\">Highways view<\/a> (<a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/OSM_Inspector\/Views\/Highways\">documentation<\/a>). We did not change very much with this view:<\/p>\n<ul>\n<li>The layer <code>deprecated<\/code> was removed. It used to show <code>highway=unsurfaced<\/code> and <code>highway=minor<\/code>, two very old and deprecated tags which completely disappeared from OSM some time ago, i.e. the layer was empty.<\/li>\n<\/ul>\n<h2>Open Source OSM Inspector<\/h2>\n<p>From now the processing software of almost all views are open source. You can search for the errors on your own, e.g. if you need more frequent updates.<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/geofabrik\/osmi_simple_views&gt;osmi_simple_views\">osmi_simple_views<\/a> is the program which powers the views Geometry, Tagging, Places and Highways.<\/li>\n<li><a href=\"https:\/\/wiki.openstreetmap.org\/wiki\/OSMCoastline\">osmcoastline<\/a> by Jochen Topf powers the Coastlines View.<\/li>\n<li><a href=\"https:\/\/github.com\/osmlab\/fixing-polygons-in-osm\/tree\/master\/area-stats-and-report\">area_stats_and_report<\/a> by Jochen Topf powers the Areas Views which shows broken polygons and multipolygon relations.<\/li>\n<li><a href=\"https:\/\/github.com\/ltog\/osmi-addresses\">osmi-addresses<\/a> by Lukas Toggenburger powers the Addresses View.<\/li>\n<li><a href=\"https:\/\/github.com\/Nathanael-L\/osmi-water\">osmi-water<\/a> by Nathanael Lang powers the Water View.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>We have rolled out some changes to the OpenStreetMap Inspector in the last days. They affect the views Geometry, Tagging, Places and Highways. From now on the data which powers the rendering of these views is generated by a tool called osmi_simpleviews. We released its code on Github under GPLv3. It&#8217;s a C++ program which [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.geofabrik.de\/index.php\/wp-json\/wp\/v2\/posts\/416"}],"collection":[{"href":"https:\/\/blog.geofabrik.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.geofabrik.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.geofabrik.de\/index.php\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.geofabrik.de\/index.php\/wp-json\/wp\/v2\/comments?post=416"}],"version-history":[{"count":0,"href":"https:\/\/blog.geofabrik.de\/index.php\/wp-json\/wp\/v2\/posts\/416\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.geofabrik.de\/index.php\/wp-json\/wp\/v2\/media?parent=416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.geofabrik.de\/index.php\/wp-json\/wp\/v2\/categories?post=416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.geofabrik.de\/index.php\/wp-json\/wp\/v2\/tags?post=416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}