SlideShare una empresa de Scribd logo
1 de 40
SoTM 2013
Osmose
quality assurance tool
Birmingham 2013-09-06
Frédéric Rodrigo <frederic@carte-libre.fr>
(c)left 2013 - CC-BY-SA v3.0
http://osmose.openstreetmap.fr
Context
QA tool
– Since 2008 by Etienne Chové
– Maintained by Jocelyn Jaubert and Frédéric Rodrigo
Sources available on gitorious
– https://gitorious.org/osmose/
Ecosystem
No duplicate analysis from KeepRight and Osm
Inspector
But integrate good idea from “minor” other tools
Idea from Osmose integrated into JOSM validator
by don_vip (building intersection, powerline...)
Support
France mainland and oversea
HOT activated countries
All full French speaking countries and Quebec
Switzerland, Belgium, Luxembourg and Iceland
Hiring for community to support local server for
new countries
The Osmose Stack
Frontend BackendsAPI
Backends Input
XML or PBF export
Not all supported country are available at
Geofabrik
OSM-FR generate also export
– http://download.openstreetmap.fr/extracts/
– Diff available
– Need for Osmose
Analyser - SAX
Process one primitive at time
Each analyser is a plugin
– Check node, way and relation
– Can report errors
Use external data
– Wikipedia tree species
Running filter on language and country
Analyser - SAX
Format: number, date, postcode, wikipedia...
Naming: abbreviation, too many space, uppercase...
Bag tag: ref in name, typo, deprecated...
Ensure multiple tags coherence from wiki rules:
multipolygon, parking lanes...
Inconsistency between tags: toll and fee, opposite
cycleway without oneway...
class Structural_UnclosedArea(Plugin):
def init(self, logger):
self.errors[1100] = { "item": 1100, "level": 3,
"tag": ["geom", "fix:imagery"], "desc": T_(u"Unclosed
area") }
def way(self, data, tags, nds):
if "area" not in tags or tags["area"] == "no":
return
if nds[0] != nds[-1]:
return [(1100, 0, {})]
Analyser - Osmosis
Osmosis, a lossless schema
Multiple objects checking at once
Geospatial analysis
DB
– Lot of indices
– create/drop DB: at each Osmose run, lake of disk sppace
– Keep DB: Quebec (diff mode)
Analyser – Osmosis – Non spatial
Done by topology
Roundabout analyser
– Wrong highway level on roundabout
– Missing oneway on link highway
– Roundabout shortcut
– Roundabout crossing
Analyser – Osmosis - Geospatial
Roundabout
– Missing junction=roundabout
– Reverse roundabout
Deadend by highway level
– Small gap in highway level continuity
Power line
– Isolated tower
– Unconnected powerline
– Missing tag power=tower
– Predictive position of unmapped power=tower
Analyser – Osmosis - Convergent
Soundex
– Phonetic index
– Index all name, way kind + way name
– Compare numerous name again similar with low
frequency
Automatic typo on tags detection
– Not work
Analyser - Merge
OpenData Integration
– Integration vs Importation
– Help contributor to add external data
Row external data set (csv) + Osmosis DB
Mapping
– Column to tag
– Complex mapping
Analyser code is just configuration
– Easy to add new data set
Analyser - Merge
Conflation by ref
Conflation by distance
Detect
– OSM object without ref
– OSM object not found in OpenData set
– OpenData object not found in OSM
“OpenData by OSM” as sub product
Analyser – Merge
French school
Wikipedia
Level crossing
self.csv_encoding = "ISO-8859-15"
self.osmTags = {
"amenity": "post_office" }
self.osmRef = "ref:FR:LaPoste"
sself.osmTypes = ["nodes", "ways"]
self.sourceSRID = "4326"
self.defaultTag = {
"amenity": "post_office",
"operator": "La Poste",
"source": "data.gouv.fr:LaPoste – 01/2013" }
self.defaultTagMapping = {
"ref:FR:LaPoste": "identifiant",
"name": "nom",
"wheelchair": lambda res:
"yes" if self.bool[res["autonome_fauteuil_roulant"]] else
"limited" if self.bool[res["pas_ressaut"]] else
"no" }
self.conflationDistance = 1000
Analyser – OSMBin
OSMBin: Osmose proprietary DB format
– Flat storage, access in O(1)
Multipolygon / boundary closed fast checking
Analyser – External tools
OpenStreetBug
– Close OSB entries when close it on Osmose
Need support OSM Notes
Configuration
Configuration by extract (country and smaller part)
List of analysers
– Language: mainly french specific
– Local way of mapping
– Source available: Bing hires, French cadastre...
Options
– Projection
– Driving side
– Language
Boundary clipping
Extract have buffer on boundary
– Duplicate error
– False error (e.g. unconnected)
Clip on exact boundary polygon after analyse
About Time
Full run every 2 days
Take 80% of availible CPU
2
50
35
43
67
ïle-de-France - Total time 3h17
Download
Osmosis Import
Indexing
SAX Analyser
Osmosis Analyser
Diff mode
Speedup by running analyser only on change
Sax
Osmosis
– “changed” tables : edited nodes, ways, relations and transitive
dependencies
– Keep DB between runs
Not all can be run in diff mode
– Error based on other OSM data (clustering, connection...)
Full run every month to keep safe
The Osmose Stack
Frontend BackendsAPI
Errors
Backends send errors to centralized Frontend
Errors report are by Analyser and Country (aka
source)
Error file replace all errors of his kind on frontend
– Except on diff mode
Error
Source (country, analyser)
Identity
– Class
– Subclass
Metainfo
– Level: 1, 2, 3 as severity
– Item number: display category and subcategory
Tags
– Other classificatio:, by nature of OSM object, highway,
waterway, name...
– What is require for fix: chair, imagery, survey
Error fixes
Analyser can propose some error fixes
Add, delete or modify many tag at once
Create a new node with tags
The Osmose Stack
Frontend BackendsAPI
Frontend - Map
Selector
– Levels of severity
– Items
– Other options available on URL (see API)
Markers
– Status: open, close, false-positive
– JOSM remote
– JOSM fix
– Wiki help
Layers
– Heatmap
– Debug map
Stats
Errors listing
History graph
By user
– RSS
Update Matrix
France - Level 1
Add new analyser
Natural fix over the time
Heavy fix
Haiti – All errors
Correct error with locals
France – Cadastre building
overlap
New gap
detection
Heavy fdix
French OpenData School
Bugs
OpenData
Update
The Osmose Stack
Frontend BackendsAPI
API
External fixing tools
Stats
JOSM
– confidential plugin
– “Quality Assurance Tools script”
API doc on Wiki
– URL parameters apply any where in the frontend
Hardware
Backends
– osm3.openstreetmap.fr HOT and Quebec
– osm5.openstreetmap.fr France
– osm6.openstreetmap.fr France
– Iceland server: Iceland
Frontend
– osm103.openstreetmap.fr ← osmose.openstreetmap.fr
Conclusion
osmose.openstreetmap.fr → o.osmfr.org
https://gitorious.org/osmose/
We need you
– Translation: frontend UI and backend errors
– Run your own Osmose local backend server
– Errors correction!
Long list of analysers request on french Trac
Localise language or country specific analyser
– Main st → Main street

Más contenido relacionado

Similar a Osmose, quality assurance tool

Appswitch: Pune Docker Kubernetes meetup 28 July, 2018
Appswitch: Pune Docker Kubernetes meetup 28 July, 2018Appswitch: Pune Docker Kubernetes meetup 28 July, 2018
Appswitch: Pune Docker Kubernetes meetup 28 July, 2018Ashish Puri
 
Presentatie 20071121 Dutch Railways And Soa Avans (1x90min) V1.0
Presentatie 20071121   Dutch Railways And Soa   Avans (1x90min)   V1.0Presentatie 20071121   Dutch Railways And Soa   Avans (1x90min)   V1.0
Presentatie 20071121 Dutch Railways And Soa Avans (1x90min) V1.0Jack541108
 
Eclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science ProjectEclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science ProjectMatthew Gerring
 
Apdm 101 Arc Gis Pipeline Data Model (1)
Apdm 101 Arc Gis Pipeline Data Model  (1)Apdm 101 Arc Gis Pipeline Data Model  (1)
Apdm 101 Arc Gis Pipeline Data Model (1)David Nichter, GISP
 
DAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - OverviewDAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - OverviewDragan Nikolić
 
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...Safe Software
 
On the road of multi tenancy portal - Apereo 2016
On the road of multi tenancy portal - Apereo 2016 On the road of multi tenancy portal - Apereo 2016
On the road of multi tenancy portal - Apereo 2016 Christian Cousquer
 
OpenStreetMap in the age of Spark
OpenStreetMap in the age of SparkOpenStreetMap in the age of Spark
OpenStreetMap in the age of SparkAdrian Bona
 
SOTM lightning talk - QualityStreetMap.org and OSMQA
SOTM lightning talk - QualityStreetMap.org and OSMQASOTM lightning talk - QualityStreetMap.org and OSMQA
SOTM lightning talk - QualityStreetMap.org and OSMQAfvanderbiest
 
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...Simone Cortesi
 
Developing web applications in Rust
Developing web applications in RustDeveloping web applications in Rust
Developing web applications in RustSylvain Wallez
 
CDI, Seam & RESTEasy: You haven't seen REST yet!
CDI, Seam & RESTEasy: You haven't seen REST yet!CDI, Seam & RESTEasy: You haven't seen REST yet!
CDI, Seam & RESTEasy: You haven't seen REST yet!Dan Allen
 
Introduction to the Globus PaaS (GlobusWorld Tour - STFC)
Introduction to the Globus PaaS (GlobusWorld Tour - STFC)Introduction to the Globus PaaS (GlobusWorld Tour - STFC)
Introduction to the Globus PaaS (GlobusWorld Tour - STFC)Globus
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteJon Petter Hjulstad
 
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...DataStax
 
Lecture2.pptx
Lecture2.pptxLecture2.pptx
Lecture2.pptxajsenol2
 
Web Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfWeb Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfSamHoney6
 

Similar a Osmose, quality assurance tool (20)

Appswitch: Pune Docker Kubernetes meetup 28 July, 2018
Appswitch: Pune Docker Kubernetes meetup 28 July, 2018Appswitch: Pune Docker Kubernetes meetup 28 July, 2018
Appswitch: Pune Docker Kubernetes meetup 28 July, 2018
 
Presentatie 20071121 Dutch Railways And Soa Avans (1x90min) V1.0
Presentatie 20071121   Dutch Railways And Soa   Avans (1x90min)   V1.0Presentatie 20071121   Dutch Railways And Soa   Avans (1x90min)   V1.0
Presentatie 20071121 Dutch Railways And Soa Avans (1x90min) V1.0
 
Eclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science ProjectEclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science Project
 
Apdm 101 Arc Gis Pipeline Data Model (1)
Apdm 101 Arc Gis Pipeline Data Model  (1)Apdm 101 Arc Gis Pipeline Data Model  (1)
Apdm 101 Arc Gis Pipeline Data Model (1)
 
20150607 sotm-us-osmose-qa
20150607 sotm-us-osmose-qa20150607 sotm-us-osmose-qa
20150607 sotm-us-osmose-qa
 
DAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - OverviewDAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - Overview
 
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...
 
On the road of multi tenancy portal - Apereo 2016
On the road of multi tenancy portal - Apereo 2016 On the road of multi tenancy portal - Apereo 2016
On the road of multi tenancy portal - Apereo 2016
 
OpenStreetMap in the age of Spark
OpenStreetMap in the age of SparkOpenStreetMap in the age of Spark
OpenStreetMap in the age of Spark
 
SOTM lightning talk - QualityStreetMap.org and OSMQA
SOTM lightning talk - QualityStreetMap.org and OSMQASOTM lightning talk - QualityStreetMap.org and OSMQA
SOTM lightning talk - QualityStreetMap.org and OSMQA
 
Microservices in Clojure
Microservices in ClojureMicroservices in Clojure
Microservices in Clojure
 
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...
 
Developing web applications in Rust
Developing web applications in RustDeveloping web applications in Rust
Developing web applications in Rust
 
CDI, Seam & RESTEasy: You haven't seen REST yet!
CDI, Seam & RESTEasy: You haven't seen REST yet!CDI, Seam & RESTEasy: You haven't seen REST yet!
CDI, Seam & RESTEasy: You haven't seen REST yet!
 
NLP Project Full Circle
NLP Project Full CircleNLP Project Full Circle
NLP Project Full Circle
 
Introduction to the Globus PaaS (GlobusWorld Tour - STFC)
Introduction to the Globus PaaS (GlobusWorld Tour - STFC)Introduction to the Globus PaaS (GlobusWorld Tour - STFC)
Introduction to the Globus PaaS (GlobusWorld Tour - STFC)
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA Suite
 
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
 
Lecture2.pptx
Lecture2.pptxLecture2.pptx
Lecture2.pptx
 
Web Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfWeb Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdf
 

Más de Frédéric Rodrigo

Cartography: Vector Tiles From an Open Initiative To an Industry Standard
Cartography: Vector Tiles  From an Open Initiative To an Industry StandardCartography: Vector Tiles  From an Open Initiative To an Industry Standard
Cartography: Vector Tiles From an Open Initiative To an Industry StandardFrédéric Rodrigo
 
Osmose-QA, OpenData, Mapillary and MapCSS
Osmose-QA, OpenData, Mapillary and MapCSSOsmose-QA, OpenData, Mapillary and MapCSS
Osmose-QA, OpenData, Mapillary and MapCSSFrédéric Rodrigo
 
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSMAutomatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSMFrédéric Rodrigo
 
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSM
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSMAnnoter automatiquement un itinéraire piéton avec des repères issus d'OSM
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSMFrédéric Rodrigo
 
Osmose-QA, Qualité et intégration de données
Osmose-QA, Qualité et intégration de donnéesOsmose-QA, Qualité et intégration de données
Osmose-QA, Qualité et intégration de donnéesFrédéric Rodrigo
 
OSRM - Open Source Routing Machine
OSRM - Open Source Routing MachineOSRM - Open Source Routing Machine
OSRM - Open Source Routing MachineFrédéric Rodrigo
 
Addok, BAN et BANO dans un bateau
Addok, BAN et BANO dans un bateauAddok, BAN et BANO dans un bateau
Addok, BAN et BANO dans un bateauFrédéric Rodrigo
 
Osmose : la conquête du monde
Osmose : la conquête du mondeOsmose : la conquête du monde
Osmose : la conquête du mondeFrédéric Rodrigo
 
5/5 Osm 20141118-l2.3-réutilisation
5/5 Osm 20141118-l2.3-réutilisation5/5 Osm 20141118-l2.3-réutilisation
5/5 Osm 20141118-l2.3-réutilisationFrédéric Rodrigo
 
4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contribution4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contributionFrédéric Rodrigo
 
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmapFrédéric Rodrigo
 
2/5 Osm 20141106-l1.2-initiation à la contribution
2/5 Osm 20141106-l1.2-initiation à la contribution2/5 Osm 20141106-l1.2-initiation à la contribution
2/5 Osm 20141106-l1.2-initiation à la contributionFrédéric Rodrigo
 
1/5 Osm 20141106-l1.1-présentation
1/5 Osm 20141106-l1.1-présentation1/5 Osm 20141106-l1.1-présentation
1/5 Osm 20141106-l1.1-présentationFrédéric Rodrigo
 

Más de Frédéric Rodrigo (20)

OSXP 2021 - MAKINA MAPS
OSXP 2021 - MAKINA MAPSOSXP 2021 - MAKINA MAPS
OSXP 2021 - MAKINA MAPS
 
Cartography: Vector Tiles From an Open Initiative To an Industry Standard
Cartography: Vector Tiles  From an Open Initiative To an Industry StandardCartography: Vector Tiles  From an Open Initiative To an Industry Standard
Cartography: Vector Tiles From an Open Initiative To an Industry Standard
 
Osmose-QA, OpenData, Mapillary and MapCSS
Osmose-QA, OpenData, Mapillary and MapCSSOsmose-QA, OpenData, Mapillary and MapCSS
Osmose-QA, OpenData, Mapillary and MapCSS
 
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSMAutomatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
Automatic Enhancement of Pedestrian Route using extracted Landmarks from OSM
 
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSM
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSMAnnoter automatiquement un itinéraire piéton avec des repères issus d'OSM
Annoter automatiquement un itinéraire piéton avec des repères issus d'OSM
 
Osmose-QA, Qualité et intégration de données
Osmose-QA, Qualité et intégration de donnéesOsmose-QA, Qualité et intégration de données
Osmose-QA, Qualité et intégration de données
 
OSRM, Utilisation avancée
OSRM, Utilisation avancéeOSRM, Utilisation avancée
OSRM, Utilisation avancée
 
Open Traffic
Open TrafficOpen Traffic
Open Traffic
 
Osmose-QA
Osmose-QAOsmose-QA
Osmose-QA
 
OSRM L'état du routage
OSRM L'état du routageOSRM L'état du routage
OSRM L'état du routage
 
OSRM - Open Source Routing Machine
OSRM - Open Source Routing MachineOSRM - Open Source Routing Machine
OSRM - Open Source Routing Machine
 
Addok, BAN et BANO dans un bateau
Addok, BAN et BANO dans un bateauAddok, BAN et BANO dans un bateau
Addok, BAN et BANO dans un bateau
 
Osmose-QA OpenData
Osmose-QA OpenDataOsmose-QA OpenData
Osmose-QA OpenData
 
Mapotempo
MapotempoMapotempo
Mapotempo
 
Osmose : la conquête du monde
Osmose : la conquête du mondeOsmose : la conquête du monde
Osmose : la conquête du monde
 
5/5 Osm 20141118-l2.3-réutilisation
5/5 Osm 20141118-l2.3-réutilisation5/5 Osm 20141118-l2.3-réutilisation
5/5 Osm 20141118-l2.3-réutilisation
 
4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contribution4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contribution
 
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
3/5 Osm 20141118-l2.1-être à l'aise avec open streetmap
 
2/5 Osm 20141106-l1.2-initiation à la contribution
2/5 Osm 20141106-l1.2-initiation à la contribution2/5 Osm 20141106-l1.2-initiation à la contribution
2/5 Osm 20141106-l1.2-initiation à la contribution
 
1/5 Osm 20141106-l1.1-présentation
1/5 Osm 20141106-l1.1-présentation1/5 Osm 20141106-l1.1-présentation
1/5 Osm 20141106-l1.1-présentation
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Osmose, quality assurance tool

  • 1. SoTM 2013 Osmose quality assurance tool Birmingham 2013-09-06 Frédéric Rodrigo <frederic@carte-libre.fr> (c)left 2013 - CC-BY-SA v3.0 http://osmose.openstreetmap.fr
  • 2. Context QA tool – Since 2008 by Etienne Chové – Maintained by Jocelyn Jaubert and Frédéric Rodrigo Sources available on gitorious – https://gitorious.org/osmose/
  • 3. Ecosystem No duplicate analysis from KeepRight and Osm Inspector But integrate good idea from “minor” other tools Idea from Osmose integrated into JOSM validator by don_vip (building intersection, powerline...)
  • 4. Support France mainland and oversea HOT activated countries All full French speaking countries and Quebec Switzerland, Belgium, Luxembourg and Iceland Hiring for community to support local server for new countries
  • 6. Backends Input XML or PBF export Not all supported country are available at Geofabrik OSM-FR generate also export – http://download.openstreetmap.fr/extracts/ – Diff available – Need for Osmose
  • 7. Analyser - SAX Process one primitive at time Each analyser is a plugin – Check node, way and relation – Can report errors Use external data – Wikipedia tree species Running filter on language and country
  • 8. Analyser - SAX Format: number, date, postcode, wikipedia... Naming: abbreviation, too many space, uppercase... Bag tag: ref in name, typo, deprecated... Ensure multiple tags coherence from wiki rules: multipolygon, parking lanes... Inconsistency between tags: toll and fee, opposite cycleway without oneway...
  • 9. class Structural_UnclosedArea(Plugin): def init(self, logger): self.errors[1100] = { "item": 1100, "level": 3, "tag": ["geom", "fix:imagery"], "desc": T_(u"Unclosed area") } def way(self, data, tags, nds): if "area" not in tags or tags["area"] == "no": return if nds[0] != nds[-1]: return [(1100, 0, {})]
  • 10. Analyser - Osmosis Osmosis, a lossless schema Multiple objects checking at once Geospatial analysis DB – Lot of indices – create/drop DB: at each Osmose run, lake of disk sppace – Keep DB: Quebec (diff mode)
  • 11. Analyser – Osmosis – Non spatial Done by topology Roundabout analyser – Wrong highway level on roundabout – Missing oneway on link highway – Roundabout shortcut – Roundabout crossing
  • 12. Analyser – Osmosis - Geospatial Roundabout – Missing junction=roundabout – Reverse roundabout Deadend by highway level – Small gap in highway level continuity Power line – Isolated tower – Unconnected powerline – Missing tag power=tower – Predictive position of unmapped power=tower
  • 13. Analyser – Osmosis - Convergent Soundex – Phonetic index – Index all name, way kind + way name – Compare numerous name again similar with low frequency Automatic typo on tags detection – Not work
  • 14. Analyser - Merge OpenData Integration – Integration vs Importation – Help contributor to add external data Row external data set (csv) + Osmosis DB Mapping – Column to tag – Complex mapping Analyser code is just configuration – Easy to add new data set
  • 15. Analyser - Merge Conflation by ref Conflation by distance Detect – OSM object without ref – OSM object not found in OpenData set – OpenData object not found in OSM “OpenData by OSM” as sub product
  • 16. Analyser – Merge French school Wikipedia Level crossing
  • 17. self.csv_encoding = "ISO-8859-15" self.osmTags = { "amenity": "post_office" } self.osmRef = "ref:FR:LaPoste" sself.osmTypes = ["nodes", "ways"] self.sourceSRID = "4326" self.defaultTag = { "amenity": "post_office", "operator": "La Poste", "source": "data.gouv.fr:LaPoste – 01/2013" } self.defaultTagMapping = { "ref:FR:LaPoste": "identifiant", "name": "nom", "wheelchair": lambda res: "yes" if self.bool[res["autonome_fauteuil_roulant"]] else "limited" if self.bool[res["pas_ressaut"]] else "no" } self.conflationDistance = 1000
  • 18. Analyser – OSMBin OSMBin: Osmose proprietary DB format – Flat storage, access in O(1) Multipolygon / boundary closed fast checking
  • 19. Analyser – External tools OpenStreetBug – Close OSB entries when close it on Osmose Need support OSM Notes
  • 20. Configuration Configuration by extract (country and smaller part) List of analysers – Language: mainly french specific – Local way of mapping – Source available: Bing hires, French cadastre... Options – Projection – Driving side – Language
  • 21. Boundary clipping Extract have buffer on boundary – Duplicate error – False error (e.g. unconnected) Clip on exact boundary polygon after analyse
  • 22. About Time Full run every 2 days Take 80% of availible CPU 2 50 35 43 67 ïle-de-France - Total time 3h17 Download Osmosis Import Indexing SAX Analyser Osmosis Analyser
  • 23. Diff mode Speedup by running analyser only on change Sax Osmosis – “changed” tables : edited nodes, ways, relations and transitive dependencies – Keep DB between runs Not all can be run in diff mode – Error based on other OSM data (clustering, connection...) Full run every month to keep safe
  • 25. Errors Backends send errors to centralized Frontend Errors report are by Analyser and Country (aka source) Error file replace all errors of his kind on frontend – Except on diff mode
  • 26. Error Source (country, analyser) Identity – Class – Subclass Metainfo – Level: 1, 2, 3 as severity – Item number: display category and subcategory Tags – Other classificatio:, by nature of OSM object, highway, waterway, name... – What is require for fix: chair, imagery, survey
  • 27. Error fixes Analyser can propose some error fixes Add, delete or modify many tag at once Create a new node with tags
  • 29. Frontend - Map Selector – Levels of severity – Items – Other options available on URL (see API) Markers – Status: open, close, false-positive – JOSM remote – JOSM fix – Wiki help Layers – Heatmap – Debug map
  • 30.
  • 31.
  • 32. Stats Errors listing History graph By user – RSS Update Matrix
  • 33. France - Level 1 Add new analyser Natural fix over the time Heavy fix
  • 34. Haiti – All errors Correct error with locals
  • 35. France – Cadastre building overlap New gap detection Heavy fdix
  • 38. API External fixing tools Stats JOSM – confidential plugin – “Quality Assurance Tools script” API doc on Wiki – URL parameters apply any where in the frontend
  • 39. Hardware Backends – osm3.openstreetmap.fr HOT and Quebec – osm5.openstreetmap.fr France – osm6.openstreetmap.fr France – Iceland server: Iceland Frontend – osm103.openstreetmap.fr ← osmose.openstreetmap.fr
  • 40. Conclusion osmose.openstreetmap.fr → o.osmfr.org https://gitorious.org/osmose/ We need you – Translation: frontend UI and backend errors – Run your own Osmose local backend server – Errors correction! Long list of analysers request on french Trac Localise language or country specific analyser – Main st → Main street