Hej, jag har skrivit ett Perl-skript som kan användas till att jämföra Västtrafiks (Västra Götalandsregionen) och OSM:s databaser om hållplatser. Data från Västtrafik hämtas via deras API:n (kostnadsfri registrering krävs för att få API-nyckel). Skriptet fungerar på följande sätt:
1. Användaren anger API-nycklen till api.vasttrafik.se samt startkoordinater där sökningen ska genomföras. 2. Skriptet hämtar närmaste hållplatser från Västtrafik. 3. Skriptet laddar ner data från OSM som motsvarar området där hållplatser finns. 4. Alla hållplatser Västtrafik känner igen jämförs med alla hållplatser OSM känner igen (distans emellan samt namnlikhet via Levenshtein-distans) 5. Hållplatser som har ingen motpart listas Skriptet finns i min git-repository: https://gitorious.org/tfscripts/openstreetmap Här följer ett exempelutskrift från skriptet: # perl osm-vasttrafik.pl vasttrafikapikey.txt 57.73541 12.0702 Used Vasttrafik API key: 0123-4567-89ab-cdef Start location is lat= 57.73541 lon= 12.07020 Fetching URL "http://api.vasttrafik.se/bin/rest.exe/v1/location.nearbystops?authKey=0123-4567-89ab-cdef&format=xml&originCoordLat=57.73541&originCoordLong=12.0702&maxNo=15" Download succeeded with return code 200 Vasttrafik stations Allévägen at lat= 57.73273 lon= 12.07482 (distance= 405 ) Skolvägen at lat= 57.73162 lon= 12.06990 (distance= 422 ) Frimästaregatan at lat= 57.73935 lon= 12.06982 (distance= 439 ) Gibsons väg at lat= 57.73128 lon= 12.06370 (distance= 600 ) Sävedalens folkets hus at lat= 57.73326 lon= 12.08028 (distance= 645 ) Found 5 Vasttrafik stations in area Distance from start point in meters: 405 ... 645 Bounding box of Vasttrafik stations: lat= 57.73120 lon= 12.06296 lat= 57.73945 lon= 12.08050 Fetching URL "http://api.openstreetmap.org/api/0.6/map?bbox=12.062457,57.730697,12.081004,57.739949" Download succeeded with return code 200 OSM stations Skolvägen at lat= 57.73179 lon= 12.07036 (distance= 402 ) Skolvägen at lat= 57.73179 lon= 12.06953 (distance= 405 ) Gibsons väg at lat= 57.73141 lon= 12.06450 (distance= 559 ) Found 3 OSM stations in area Distance from start point in meters: 402 ... 559 Matched stations: Gibsons väg at lat= 57.73128 lon= 12.06370 (distance= 600 ) matching Gibsons väg at lat= 57.73141 lon= 12.06450 (distance= 559 ) Skolvägen at lat= 57.73162 lon= 12.06990 (distance= 422 ) matching Skolvägen at lat= 57.73179 lon= 12.07036 (distance= 402 ) Unmatched Vasttrafik (not found in OSM): Allévägen at lat= 57.73273 lon= 12.07482 (distance= 405 ) http://www.openstreetmap.org/?mlat=57.732734&mlon=12.074823&zoom=17&layers=M Frimästaregatan at lat= 57.73935 lon= 12.06982 (distance= 439 ) http://www.openstreetmap.org/?mlat=57.739350&mlon=12.069825&zoom=17&layers=M Sävedalens folkets hus at lat= 57.73326 lon= 12.08028 (distance= 645 ) http://www.openstreetmap.org/?mlat=57.733256&mlon=12.080279&zoom=17&layers=M Unmatched OSM (not found in Vasttrafik): NONE Too far away Vasttrafik station: NONE Too far away OSM station: NONE Synpunkter och kommentarer tas tacksam emot! Hälsningar, Thomas
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Talk-se mailing list [email protected] http://lists.openstreetmap.org/listinfo/talk-se
