diff --git a/CHANGELOG.md b/CHANGELOG.md index 447dbc6cc..e94649e33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ ## Current Main +### New Features + +- attribute completeness: added new topic and topic - specific attributes and deleted non-functional attributes ([#850]) + + +[#850]: https://github.com/GIScience/ohsome-quality-api/issue/850 + + ## Release 1.8.2 - PR template: Hurl maintenance is mentioned and wording with respect to mergeability is clarified ([#860]) @@ -10,9 +18,9 @@ - attribute-completeness: custom filters are now correctly combined with topic filter ([#865]) -[#865]: https://github.com/GIScience/ohsome-quality-api/pull/865 [#860]: https://github.com/GIScience/ohsome-quality-api/issues/860 +[#865]: https://github.com/GIScience/ohsome-quality-api/pull/865 ## Release 1.8.1 @@ -29,7 +37,6 @@ [#848]: https://github.com/GIScience/ohsome-quality-api/pull/848 - ## Release 1.7.0 ### Breaking Changes diff --git a/ohsome_quality_api/attributes/attributes.yaml b/ohsome_quality_api/attributes/attributes.yaml index 329e43955..e8bc6a66e 100644 --- a/ohsome_quality_api/attributes/attributes.yaml +++ b/ohsome_quality_api/attributes/attributes.yaml @@ -67,6 +67,14 @@ building-count: name: Colour of Buildings description: TODO filter: building:colour=* + missing-wall: + name: Missing Wall + description: slight constructions like sheds or any construction with a roof and at least one side open or without foundations. + filter: wall=no + source: + name: Source + description: TODO + filter: source=* bus-stops: public-transport-platform: @@ -77,6 +85,10 @@ bus-stops: name: Bus stop area description: TODO filter: public_transport=stop_area + shelter: + name: shelter + description: TODO + filter: shelter=* clinics: healthcare-birthing-centre: @@ -95,6 +107,54 @@ clinics: name: Vaccination centre description: TODO filter: healthcare=vaccination_centre + opening-hours: + name: Opening Hours + description: TODO + filter: opening_hours=* + specialty: + name: Specialty + description: TODO + filter: healthcare:speciality=* + +doctors: + phone-number: + name: Phone Number + description: TODO + filter: phone=* + name: + name: Name + description: TODO + filter: name=* + specialty: + name: Specialty + description: TODO + filter: healthcare:speciality=* + opening-hours: + name: Opening Hours + description: TODO + filter: opening_hours=* + Website: + name: Website + description: TODO + filter: website=* + +hospitals: + emergency: + name: Emergency + description: TODO + filter: emergency=* + name: + name: Name + description: TODO + filter: name=* + specialty: + name: Specialty + description: TODO + filter: healthcare:speciality=* + opening-hours: + name: Opening Hours + description: TODO + filter: opening_hours=* fitness-centres: sport-fitness: @@ -109,102 +169,92 @@ fitness-centres: name: Weightlifting description: TODO filter: sport=weightlifting - -forests: - access-private: - name: Private Access - description: TODO - filter: access=private - access-official: - name: Official Access + sport: + name: Sport description: TODO - filter: access=official - access-forestry: - name: Forestry + filter: sport=* + opening-hours: + name: Opening Hours description: TODO - filter: access=forestry - highway-track: - name: Track - description: TODO - filter: highway=track - boundary-forest: - name: Forest boundary + filter: opening_hours=* + +forests: + leaf-type: + name: Leaf Type description: TODO - filter: boundary=forest + filter: leaf_type=* kindergarten: leisure-playground: name: Playground description: TODO filter: leisure=playground + phone-number: + name: Phone Number + description: TODO + filter: phone=* marketplaces: - craft-bakery: - name: Bakery - description: TODO - filter: craft=bakery - craft-handicraft: - name: Handicraft - description: TODO - filter: craft=handicraft - craft-leather: - name: Leather craft - description: TODO - filter: craft=leather - craft-shoemaker: - name: Shoemaker - description: TODO - filter: craft=shoemaker craft-winery: name: Winery description: TODO filter: craft=winery - -parks: - landuse-commercial: - name: Commercial landuse + opening-hours: + name: Opening Hours description: TODO - filter: landuse=commercial - leisure-dog-park: - name: Dog park + filter: opening_hours=* + shop-name: + name: Shop Name description: TODO - filter: leisure=dog_park + filter: name=* + +parks: tourism-theme-park: name: Theme park description: TODO filter: tourism=theme_park - landuse-greenfield: - name: Greenfield + +sports-pitch: + sport: + name: Sport description: TODO - filter: landuse=greenfield - leisure-playground: - name: Playground + filter: sport=* + lit: + name: Lit description: TODO - filter: leisure=playground + filter: lit=* + surface: + name: Surface + description: TODO + filter: surface=* + access: + name: Access + description: TODO + filter: access=* schools: leisure-playground: name: Playground description: TODO filter: leisure=playground + name: + name: Name + description: TODO + filter: name=* + website: + name: Website + description: TODO + filter: website=* + phone-number: + name: Phone Number + description: TODO + filter: phone=* subway-stations: - railway-subway: - name: Subway - description: TODO - filter: railway=subway tunnel-yes: name: Tunnel description: TODO filter: tunnel=yes - railway-subway-entrance: - name: Subway entrance - description: TODO - filter: railway=subway_entrance - route-subway: - name: Subway route - description: TODO - filter: route=subway public-transport-stop-area: name: Subway stop area description: TODO @@ -215,26 +265,14 @@ subway-stations: filter: public_transport=platform supermarkets: - shop-convenience: - name: Convenience store - description: TODO - filter: shop=convenience - shop-beverages: - name: Beverages - description: TODO - filter: shop=beverages - amenity-bicycle-parking: - name: Bicycle Parking - description: TODO - filter: amenity=bicycle_parking - amenity-parking: - name: Parking + brand: + name: Brand description: TODO - filter: amenity=parking - amenity-parking-entrance: - name: Parking entrance + filter: brand=* + opening-hours: + name: Opening Hours description: TODO - filter: amenity=parking_entrance + filter: opening_hours=* tram-stops: public-transport-stop-area: @@ -260,23 +298,61 @@ roads: sidewalk: name: Sidewalk description: TODO - filter: footway:sidewalk=* + filter: sidewalk=* crossing: name: Crossing description: TODO - filter: footway:crossing = * - cycleway-lane: - name: Cycleway Lane + filter: crossing=* + cycleway: + name: Cycleway description: TODO - filter: cycleway:lane=* + filter: cycleway=* cycleway-share-busway: name: Cycleway Share Busway description: TODO - filter: cycleway:share_busway=* + filter: cycleway=share_busway or cycleway:both=share_busway or cycleway:left=share_busway or cycleway:right=share_busway + parking: + name: Parking + description: TODO + filter: parking:left=* or parking:right=* or parking:both=* or parking=* + maxspeed: + name: Maxspeed + description: TODO + filter: maxspeed=* + oneway: + name: Oneway + description: TODO + filter: oneway=* + surface: + name: Surface + description: TODO + filter: surface=* + lit: + name: Lit + description: TODO + filter: lit=* + residential: + name: Residential road + description: Road in a residential area + filter: highway=residential + +car-roads: + name: + name: Road Name + description: TODO + filter: name=* + sidewalk: + name: Sidewalk + description: TODO + filter: sidewalk=* + lanes: + name: Lanes + description: TODO + filter: lanes=* parking: name: Parking description: TODO - filter: parking:left=* or parking:right=* or parking:both=* + filter: parking:left=* or parking:right=* or parking:both=* or parking=* maxspeed: name: Maxspeed description: TODO @@ -289,7 +365,37 @@ roads: name: Surface description: TODO filter: surface=* - highway-speed-camera: - name: Speed Camera + lit: + name: Lit description: TODO - filter: highway:speed_camera=* + filter: lit=* + +public-transport-stops: + shelter: + name: Shelter + description: TODO + filter: shelter=* + bench: + name: Bench + description: TODO + filter: bench=* + trash-bin: + name: Trash Bin + description: TODO + filter: bin=* + tactile-paving: + name: Tactile Paving + description: TODO + filter: tactile_paving=* + wheelchair-accessibility: + name: Wheelchair Accessibility + description: TODO + filter: wheelchair=* + bus-lines: + name: Bus Lines + description: List of all bus lines stopping at a certain stop + filter: route_ref=* + departures-board: + name: Departures Board + description: TODO + filter: departures_board=* \ No newline at end of file diff --git a/ohsome_quality_api/indicators/indicators.yaml b/ohsome_quality_api/indicators/indicators.yaml index 523eef434..f36b6a37b 100644 --- a/ohsome_quality_api/indicators/indicators.yaml +++ b/ohsome_quality_api/indicators/indicators.yaml @@ -1,4 +1,21 @@ --- +mapping-saturation: + name: Mapping Saturation + projects: + - core + - corine-land-cover + - expanse + - experimental + - idealvgi + - mapaction + - sketchmap + - bkg + - unicef + quality_dimension: completeness + description: >- + Calculate if mapping has saturated. + High saturation has been reached if the growth of the fitted curve is + minimal. density: name: Density projects: @@ -36,23 +53,6 @@ road-comparison: description: >- Compare the road length of OSM roads with the road length of reference data. -mapping-saturation: - name: Mapping Saturation - projects: - - core - - corine-land-cover - - expanse - - experimental - - idealvgi - - mapaction - - sketchmap - - bkg - - unicef - quality_dimension: completeness - description: >- - Calculate if mapping has saturated. - High saturation has been reached if the growth of the fitted curve is - minimal. building-comparison: name: Building Comparison projects: diff --git a/ohsome_quality_api/topics/presets.yaml b/ohsome_quality_api/topics/presets.yaml index 2ddf55036..d5407e3ac 100644 --- a/ohsome_quality_api/topics/presets.yaml +++ b/ohsome_quality_api/topics/presets.yaml @@ -56,6 +56,21 @@ roads: - core - bkg +car-roads: + name: Classified Roads + description: roads excluding simple forest paths and other small/ unclassified roads + endpoint: elements + aggregation_type: length + filter: >- + highway in (motorway, trunk, primary, secondary, tertiary, residential, service, living_street, trunk_link, motorway_link, primary_link, secondary_link, tertiary_link) and type:way + indicators: + - mapping-saturation + - attribute-completeness + - currentness + projects: + - core + - bkg + railway-length: name: Railways description: >- @@ -144,6 +159,7 @@ schools: indicators: - mapping-saturation - currentness + - attribute-completeness projects: - core - bkg @@ -189,6 +205,7 @@ doctors: indicators: - mapping-saturation - currentness + - attribute-completeness projects: - core - bkg @@ -210,7 +227,7 @@ bus-stops: tram-stops: name: Tram Stops - description: Count of schools. + description: Count of tram stops. endpoint: elements aggregation_type: count filter: railway=tram_stop @@ -223,6 +240,20 @@ tram-stops: - core - bkg +public-transport-stops: + name: Public Transport Stops + description: Count of public transport stops. + endpoint: elements + aggregation_type: count + filter: public_transport=platform + indicators: + - mapping-saturation + - currentness + - attribute-completeness + projects: + - core + - bkg + subway-stations: name: Subway Stations description: Count of subway stops. @@ -243,7 +274,7 @@ supermarkets: description: Count of supermarkets. endpoint: elements aggregation_type: count - filter: shop=supermarket + filter: shop=supermarket or shop=convenience source: https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsupermarket indicators: - mapping-saturation @@ -283,6 +314,21 @@ parks: - core - bkg +sports-pitch: + name: Sports Pitch + description: Count of sports pitches (an area designed for practising a particular sport) + endpoint: elements + aggregation_type: count + filter: leisure=pitch + source: https://wiki.openstreetmap.org/wiki/Tag:leisure%3Dpitch + indicators: + - mapping-saturation + - currentness + - attribute-completeness + projects: + - core + - bkg + forests: name: Forests description: Count of forests. @@ -363,6 +409,7 @@ hospitals: indicators: - mapping-saturation - currentness + - attribute-completeness projects: - core - bkg diff --git a/tests/conftest.py b/tests/conftest.py index 4d588e5c0..cbd3c66c9 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -43,6 +43,11 @@ def topic_key_building_count() -> str: return "building-count" +@pytest.fixture(scope="class") +def topic_roads() -> TopicDefinition: + return get_topic_preset("roads") + + @pytest.fixture(scope="class") def topic_minimal(topic_key_minimal) -> TopicDefinition: return get_topic_preset(topic_key_minimal)