Giter VIP home page Giter VIP logo

osmi_simple_views's Introduction

OSMI Simple Views

This repository contains the tools to generated the data which powers the view Tagging, Highways, Places and Geometry of the OpenStreetMap Inspector (OSMI) by Geofabrik.

This software uses the Osmium library by Jochen Topf for everything related with reading OSM data and the GDAL library (via Jochen Topf's C++ wrapper gdalcpp) to write the output data.

License and Authors

This software was developed by Geofabrik GmbH. See the Git history for a full list of contributors.

This software is licensed under the terms of GNU General Public License version 3 or newer. See LICENSE.md for the full legal text of the license.

The Catch unit test framework is available under the terms of Boost Software License.

The geometry view contains code to detect self intersections of ways which is a modified copy of a part of OSMCoastline by Jochen Topf, available GNU General Public License 3 or newer.

How it works

This software reads an OpenStreetMap planet dump (or one of its smaller extracts) and produces an Spatialite database which contains all errorenous objects which were found in the OpenStreetMap data. Other output formats than Spatialite are possible but not as well tested. You can open the output files using QGIS.

The Spatialite database is used as the data source of the WMS service by the OSMI backend. This service provides the map and a GetFeatureInfo API call used by the frontend.

Dependencies

  • C++11 compiler
  • libosmium (libosmium-dev) and all its important dependencies
  • GDAL library (libgdal-dev)
  • proj.4 (libproj4-dev)
  • CMake (cmake)

You can install libosmium either using your package manager or just cloned from its Github repository to any location on your disk. Add a symlink libosmium in the top level directory of this repository to the location of libosmium/include if you use the latter variant. Take care to use libosmium v2.x not the old Osmium v1.x!

Building

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

If you want to compile this programme for development purposes, please run cmake with the -DCMAKE_BUILD_TYPE=Debug flag.

Usage

Run ./osmi_simple_views -h to see the available options.

There are two binaries. osmi_simple_views_merc can only produce output files in Web Mercator projection (EPSG:3857) but is faster than osmi_simple_views because it uses a faster coordinate transformation engine provided by libosmium while osmi_simple_views calls Proj4.

osmi_simple_views's People

Contributors

derdakon avatar famlam avatar johsin18 avatar joqn avatar nakaner avatar strubbl avatar woodpeck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

johsin18 yogurt4

osmi_simple_views's Issues

Matching addresses to more elements.

I've noticed the address view matches addr:street and addr:place to nearby nodes with same place name.
Could this also look for relations with this? Like if an address is inside an area with the name.
Typical case would be islands.
In Norway we got lots of them and addresses often use the island name when its fairly small and without any roads.

Example of island: https://www.openstreetmap.org/relation/9921671
There are several address nodes within the area.

It would also help looking for bay and lake names as that is also a common addressing method for places with no road.

Ideally the addr:street match should only be done on road names and not place nodes.
And the addr:place match range could probably be extended to 2km as some address nodes can be quite far away at times.

Duplicated issues

If you go to here and from the data dropdown choose "Car" you will see that the same issue is repeated three times for the same way. Over here it is repeated 4 times for the same way. As far as I can see it looks like that the error is repeated for every connection with another way. Is this the intended behavior?

Incorrect city location

Hi everyone,
I have a problem with the location of the city of Benghazi in Libya it's pointed incorrectly in the data of OSM, can anyone help me to relocate it into the right position as follows:
32.1194° N, 20.0868° E

Thanks in advance

Data Panel

Adding the iD, Potlatch, Josm, History, and Browse icons to the Data panel would make it easier to open a few elements to inspect.

Look for suspicous names

Very long names are usually a sign for something odd and suspicious.

  • Some software does not store the full 256 characters because it would waste memory. A limit of 100 seems reasonable.
  • Names should contain printable characters only.

Misformatted addresses showing in Australia for US addresses

Over this last week or so, I've found a few misformatted address errors showing up in our local area in Australia, but they're related to addresses in the US.

http://tools.geofabrik.de/osmi/?view=addresses&lon=153.42999&lat=-28.00502&zoom=16&overlays=misformatted_housenumber_lenient

Opening the top one (T2/9) in iD takes you to:
https://www.openstreetmap.org/edit?editor=id&node=29839190#map=18/34.67657/-82.82242,

while the other (3018 shop 2) goes to:
https://www.openstreetmap.org/edit?editor=id&node=37175590#map=18/39.14419/-76.85408.

Going straight into OSM locally for both spots shows:
https://www.openstreetmap.org/node/3509239568
&
https://www.openstreetmap.org/node/3548412617
both of which indeed do have incorrectly laid out addresses, but which I haven't yet fixed.

I noticed two more similar last week, which did have errors on the US addresses, & which I then did fix. If needed, I should be able to find details of them as well?

Edit: Incidentally, both of these addresses show as having been tagged in this format for ~6 years, but neither of them showed up when I looked at this report twice over the last two weeks?

Thanks,

Graeme

area:highway gives "no_feature_tag_ways (?)" error when named

In the example of https://www.openstreetmap.org/way/1212085278 the "no feature tag ways (?)" is given with the tag area:highway=residential when there's also a name attached to the object. Remove the name or e.g. add place=square the warning goes away. According TagInfo there 26K uses of the particular tag-value combo suspecting this could be a false positive. That said are these area objects not to have a name? There is no mention in the area:highway wiki E.g. there are quite large motorway on/off areas such as Milano Sud with some 32 lanes and each toll both having been tagged with the name where rather I'd see the area:highway=motorway being tagged as Milano Sud though wasn't.

Recognise "information" as a feature.

Hi geofabrik

I have been tagging the old oil drums used as informal but important route markers in cross-desert routes in the Sahara.
I am using an information=route_marker tag, as far as I can see, in the correct manner.
https://wiki.openstreetmap.org/wiki/Key:information
But I am getting error flags in OSMI for "no_feature_tag_nodes"

The tags I use are:
description=bidon / barrel
information=route_marker

I have reviewed the code in osmi_simple_views/src/tagging_view_handler.cpp and it would seem that "information" is not recognised as a feature tag.
Adding two lines somewhere between 420 and 480 would help.

    } else if (!strcmp(t.key(), "information")) {
        return true;

Please assist. Either to guide me on using information tags correctly, or by modifying the code.
best wishes - Craig Allan - OSM: cRaIgalLAn

Intgrate pressurised waterways in water view

Hello

We use to map pressurised waterways with waterway=pressurised.
https://wiki.openstreetmap.org/wiki/Tag:waterway%3Dpressurised

It is different from natural (river, streams) and open flow artificial waterways (canal, drain).
Is it possible to add a supplementary item in water view / type of waterways with a different colour than other please ?

Furthermore, additional keys inlet=* and outlet=* allow to get places where water goes in and out closed ducts.
It could be interesting to show them as well, beside start/end nodes.

Best regards

inner rings touching twice

If inner rings of a multipolygon touch in two positions, together forming a donut shape, OSMI incorrectly reports the following errors:
Way in >1 rings
Role should be outer

Example: http://tools.geofabrik.de/osmi/?view=areas&lon=15.80947&lat=47.73963&zoom=14&baselayer=Geofabrik%20Standard&opacity=0.67&overlays=duplicate_node%2Csingle_node_in_way%2Cduplicate_segment%2Cway_in_multiple_rings%2Cintersection%2Cintersecting_segments%2Cring_not_closed%2Ctouching_rings%2Crole_should_be_inner%2Crole_should_be_outer%2Cinner_with_same_tags%2Cways%2Cduplicate_node%2Csingle_node_in_way%2Cduplicate_segment%2Cway_in_multiple_rings%2Cintersection%2Cintersecting_segments%2Cring_not_closed%2Ctouching_rings%2Crole_should_be_inner%2Crole_should_be_outer%2Cinner_with_same_tags%2Cways
That link has been provided in the discussion of changeset https://www.openstreetmap.org/changeset/113231318 by a user who fell for it. In order to fix the supposed error, he added the "hole in the donut" as an "inner" member, which made the forest between the scree and the bare_rock disappear from rendered maps.

Measurement unit not an error

Specify layers when requesting tiles

I hope this is an appropriate place to ask this question.

I'm using geofabrik address validation tiles as the background in iD and I wish I could specify which layers were included in the tile.

Here is a tile with all layers: https://tools.geofabrik.de/osmi/tiles/addresses/19/159648/191294.png

I want only these layers:

  • addrx_on_nonclosed_way
  • no_addr_street
  • misformatted_housenumber_lenient
  • street_not_found
  • place_not_found

But I'm not sure how to express this in the request. I've tried:
https://tools.geofabrik.de/osmi/tiles/addresses/19/159648/191294.png?LAYERS=addrx_on_nonclosed_way%2Cno_addr_street%2Cmisformatted_housenumber_lenient%2Cstreet_not_found%2Cplace_not_found

Which I composed by borrowing the syntax I see working on views here:
https://tools.geofabrik.de/osmi/views/addresses/wxs?LAYERS=addrx_on_nonclosed_way%2Cno_addr_street%2Cmisformatted_housenumber_lenient%2Cstreet_not_found%2Cplace_not_found&FORMAT=image%2Fpng%3B%20mode%3D24bit&PROJECTION=EPSG%3A900913&DISPLAYPROJECTION=EPSG%3A4326&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A900913&BBOX=-7834717.709262,5415403.2571031,-7834122.3364714,5415601.5156451&WIDTH=997&HEIGHT=332

Is it possible to specify layers with a tile request?

landuse=cemetery gets no_feature_tag_ways

https://www.openstreetmap.org/way/846950041

https://www.openstreetmap.org/way/846953062 https://www.openstreetmap.org/way/846952375

https://wiki.openstreetmap.org/wiki/Tag:landuse=cemetery?uselang=en

https://resultmaps.neis-one.org/hdyc-osmi-issues?uid=1722488

  1. | WAY | 846950041 | tagging | no_feature_tag_ways (?) | 2021-02-08 23:47:54 | 98935750
    -- | -- | -- | -- | -- | -- | --
  2. | WAY | 846952375 | tagging | no_feature_tag_ways (?) | 2021-02-08 23:43:28 | 98934892
  3. | WAY | 846953062 | tagging | no_feature_tag_ways (?) | 2021-02-08 23:43:30 | 98934892

WMS layer not working

Didn't know where to put this so figured I'd add it here.

None of the OSM Inspector wms layers listed in JOSM works any more.

The whole thing is described on the wiki at https://wiki.openstreetmap.org/wiki/OSM_Inspector/WxS

Opening one of the endpoints in a browser would normally return xml code for the layers, but instead its prompting a download of something.

Repetitive unconnected nodes and unconnected roads issues

Due to an issue in ID and/or RapID (issues #9814, #8911, #8758, etc) the roads and nodes are being reported as unconnected when indeed they are perfectly connected.

But if they are drawn from different away start points them it shows such error that only could be solved by moving again one of the nodes.

Errors in the Editors COULD not be assigned to the mappers, because the mapping was correctly done, and the Inspector should adequately check if there is a navigation (real routing) issue or not.

Tagging errors for network nodes

Walking network nodes get tagging error "no feature tags" in OSMI although tagged according to tagging instructions in wiki [https://wiki.openstreetmap.org/wiki/Node_Networks] (url)
Example: node_id | 6055904404 and node_id | 10946316603 and a lot of others in area.

Feature request: cycleway properties

Hello!

Thanks a lot for developing OSM Inspector! It's a great tool!
For high quality cycleway mapping, it would be very helpful if these properties could be shown:

Bike access:

  • missing
  • official/designated
  • yes/permissive
  • private/no

Surface:

  • missing
  • asphalt
  • paved
  • unpaved
  • compacted
  • ...

Smoothness:

  • missing
  • excellent
  • good
  • intermediate
  • bad
  • ...

Incline:
Show negative values as positive in reverse direction.
Always show arrow indicating upward direction, except for 0% and missing.

  • missing
  • up / down (but shown as up in opposite direction)
  • 20% or more
  • 10% or more
  • 5% or more
  • more than 0%
  • 0%

Speed limit (kph):
(only on roads with both bicycle and motor vehicle access)

  • missing
  • more than 50
  • more than 30
  • more than 10
  • 10 or less

Add place=square

place=square is a valid tag and should not generate a warning.

Public Transport - Routes: hail_and_ride is not recognized as valid role

title says it all, I'm using the view public transport - routes to highlight whenever a route in my area becomes broken. unfortunately this works properly only for urban buses, where no section is "hail_and_ride". for rural bus routes, they all fail the role test.

if I understand the logic, we have two types of way members, one set where the roles would identify the way as a platform, one set where the roles would identify the way as a route section. as of now, members of this second set are only allowed the empty role, while I need 'hail_and_ride' to be accepted as well.

in this example area one route now correctly passes all tests, two more routes should pass all tests (now failing the unknown_role test), one route should fail the no_stops_pltf_at_begin test as it indeed does now.

Consider police=* a feature tag

I came across https://www.openstreetmap.org/way/921895150, which (in its version 5) OSMI considers under "name/description without important tags". However I think that the tagging is correct here, as the wiki page for amenity=police mentions:

Other police facilities which do not provide direct services to the public are tagged with the police=* instead of amenity=police. For example, police=barracks is used for police barracks.

… which is the case for this object. ("Bereitschaftspolizei" forces are mainly deployed during big events like demonstrations, riots, soccer games, etc.)

PostGIS translation of all quality-checks?

I am interested in to translate all quality-checks (duplicate_segment, way_in_multiple_rings, etc.) to SQL/PostGIS functions... There are a place to discuss this kind of issue?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.