Alle wegen, wegtypen en bezienswaardigheden van deze toepassing komen uit OpenStreetMap. Daaruit berekenen wij eigen waarden — hoe luid, hoe groen en hoe bezienswaardig het langs een weg is — en daaruit snijden wij de tegels van de kaart. Beide zijn afgeleide databases in de zin van de Open Database License. Onze waarden staan in eigen databases en zijn met OpenStreetMap alleen via het nummer van de weg of het water verbonden. De licentie eist dat wij de methode openbaar maken (sectie 4.6b). Die wordt als volgt beschreven.
Elk OSM-object met een highway-kenmerk — ook de luide wegen zelf. Er wordt in meters gerekend. Dezelfde waarden middelen wij bovendien op een grof raster met cellen van 0,0028 graad, voor vragen die geen afzonderlijke weg betreffen.
Uit de vlakken in OpenStreetMap vormen wij vijf categorieën. Bos: landuse=forest, natural=wood. Open land: farmland, meadow, orchard, vineyard, grass, allotments, grassland, heath, scrub, wetland, beach. Bebouwing: residential, industrial, commercial, retail, garages, construction. Stadsgroen: park, golf_course, common, recreation_ground, dog_park, cemetery, village_green, grave_yard, plus garden alleen met uitdrukkelijk openbare toegang. Beschermd gebied: nature_reserve, national_park. De waarde per categorie is het aandeel van de weglengte dat in zulke vlakken ligt.
Als lawaaibronnen tellen wegen, met een aangenomen reikwijdte: autosnelweg 1000 m, autoweg 800 m, hoofdweg 500 m, provinciale weg 300 m; daarnaast vliegvelden 2000 m (alleen terreinen vanaf 1 km²), motorsportbanen 1500 m, schietbanen 1500 m, steengroeven 500 m. Tunnels tellen niet mee. Spoorlijnen tellen niet mee — treinen rijden zelden. De waarde daalt kwadratisch met de afstand: 100 × (1 − afstand / reikwijdte)². Bos tussen bron en weg dempt: elke meter bos op de zichtlijn telt als drie meter afstand. Dit wordt berekend voor de vier dichtstbijzijnde bronnen per weg; de scherpste geldt. Dezelfde waarde bepalen wij ook per deeltraject — daaruit ontstaat het kengetal „langste lawaaiige stuk aaneen“.
De waterwaarde ontstaat zoals de lawaaiwaarde, maar lineair: 100 × (1 − afstand / reikwijdte). Als water tellen rivieren en kanalen 100 m, ook hun watervlakken (water=river, canal, lock) zonder minimumgrootte; meren 100 m als hun oppervlak minstens 50 000 m² is (natural=water zonder zuiveringsbekkens); beken alleen met een naam 50 m; kust 100 m (natural=coastline). Bij elke weg slaan wij ook de kleinste afstand tot een van deze wateren op. Sloten en afvoergreppels (ditch, drain) tellen niet mee, overkluisde en ondertunnelde stukken ook niet.
Voor tochten aan het water slaan wij daarnaast de lijn op van elk water waarlangs men loopt: bij een meer de buitenste oever, bij rivieren, kanalen en beken de middellijn, aan zee de kustlijn. OSM-lijnen van dezelfde soort met dezelfde naam die op elkaar aansluiten, vormen één water; overkluisde stukken verbinden ze, maar horen niet bij de lijn. De lijn staat in onze database als punten om de 50 m, zonder naam en zonder andere kenmerken. Een water is met OpenStreetMap alleen via het nummer van een van zijn objecten verbonden. Bij elk water slaan wij de soort, de lengte van de lijn en bij meren het oppervlak op.
Punten en vlakken uit OpenStreetMap worden geselecteerd op basis van de hieronder vermelde waarden van tourism, historic, natural, waterway en amenity. Andere waarden van deze kenmerken zijn niet voldoende om een object op te nemen.
Bij vlakken worden eerst alle deelvlakken van minstens 1 km² uitgesloten. Als daarna meerdere deelvlakken met dezelfde OSM-identificatie overblijven, wordt het grootste behouden; voor even grote deelvlakken is geen verdere volgorde vastgelegd. Het oppervlaktezwaartepunt wordt berekend in ETRS89/UTM32N (EPSG:25832) en daarna omgezet naar geografische coördinaten (EPSG:4326). OSM-punten behouden hun locatie. Het kenmerk waterway wordt alleen bij punten beoordeeld.
Elk object krijgt precies één categorie: de eerste passende regel in de onderstaande volgorde wint. Objecten zonder passende regel vallen af. De via amenity geselecteerde categorieën vormen de groep pleisterplaatsen, alle andere de groep bezienswaardigheden. Horecaobjecten zonder name-kenmerk worden uitgesloten; voor bezienswaardigheden is een naam niet vereist. Een OSM-punt en een OSM-vlakobject voor dezelfde plek blijven afzonderlijke vermeldingen.
Waterval 100 — waterway=waterfall.
Burcht 100, inclusief kastelen en paleizen — historic=castle.
Top 90 — natural=peak.
Uitzichtpunt 80 — tourism=viewpoint.
Ruïne 60 — historic=ruins.
Monument 60 — historic=monument.
Grot 60 — natural=cave_entrance.
Dierentuin 60 — tourism=zoo.
Attractie 60 — tourism=attraction.
Museum 50 — tourism=museum.
Stadspoort 50 — historic=city_gate.
Vestingwerk 50 — historic=fort.
Archeologische vindplaats 40 — historic=archaeological_site.
Bron 40 — natural=spring.
Kunstwerk 30 — tourism=artwork.
Picknickplaats 30 — tourism=picnic_site.
Gedenksteen 20 — historic=memorial.
Biertuin 70 — amenity=biergarten.
Restaurant 60 — amenity=restaurant.
Café 50 — amenity=cafe.
Pub 40 — amenity=pub.
Snackbar 30 — amenity=fast_food.
IJssalon 40 — amenity=ice_cream.
De bandbreedte voor horeca is daarmee 30 tot 70.
De aanvullende invoer is QRank (Wikidata-paginaweergaven, CC0): het bestand qrank.csv.gz van qrank.wmcloud.org, met de kolommen Entity en QRank. Elke beoordelingsronde gebruikt de dan beschikbare gegevensversie. Het OSM-kenmerk wikidata wordt exact vergeleken met Entity.
Voor elke geselecteerde POI met een passende QRank-vermelding wordt L = ln(1 + QRank) berekend; ln is de natuurlijke logaritme. Uit deze L-waarden worden het 5e percentiel P05 en het 99e percentiel P99 bepaald, met lineaire interpolatie zoals bij PostgreSQL percentile_cont. Elke passende POI telt eenmaal mee, ook als meerdere POI’s dezelfde Wikidata-identificatie hebben. POI’s zonder passende QRank-vermelding tellen niet mee voor de percentielen.
De onafgeronde bekendheidswaarde Q is:
Q = 100 × min(1, max(0, (L − P05) / (P99 − P05))).
Q ligt daarmee tussen 0 en 100. Zonder QRank-bestand, zonder passende vermelding of bij gelijke percentielgrenzen geldt Q = 0. Q wordt ook afzonderlijk opgeslagen, afgerond op een geheel getal.
De drie delen worden gewogen met 40 / 40 / 20: categoriebasiswaarde K, bekendheidswaarde Q en fotodichtheid F uit Wikimedia Commons. De fotodichtheid is voorbereid, maar momenteel 0. Voor de totaalscore wordt de onafgeronde waarde Q gebruikt:
Totaal = round(0,4 × K + 0,4 × Q + 0,2 × F).
Pas dit resultaat wordt afgerond op een geheel getal; round verwijst naar de PostgreSQL-functie. Ontbrekende QRank- of fotowaarden leiden niet tot een herverdeling van de gewichten.
Wie een tocht vanaf een parkeerplaats zoekt, krijgt de beste parkeerplaatsen rond het gekozen punt. Daarvoor nemen wij uit OpenStreetMap alle objecten met amenity=parking op, als punt of als vlak; bij vlakken rekenen wij met het zwaartepunt, net als bij bezienswaardigheden, maar zonder bovengrens voor de oppervlakte. Parkeerstroken langs de rijbaan vallen af, dus parking=street_side, lane, on_kerb en half_on_kerb — daar rijd je niet naartoe. Een object zonder parking-kenmerk blijft staan.
Uit het kenmerk access vormen wij drie toegangsklassen: openbaar (yes, public), gedoogd (permissive, designated) en onbekend (geen access-kenmerk, unknown, fixme). Plekken met een andere waarde, bijvoorbeeld private, customers of no, nemen wij helemaal niet op: wie daar parkeert en gaat wandelen, parkeert zonder toestemming. Plekken met fee=yes blijven buiten beschouwing totdat u ze in de interface toelaat. Een plek zonder fee-kenmerk geldt als onbekend en blijft altijd in de lijst.
Bij elke parkeerplaats berekenen wij drie eigen kenmerken:
Wandelparkeerplaats — het object draagt hiking=yes, of de naam of de notitie (note) bevat de letterreeks „wander“ (Duits voor wandelen) of „hike“, ongeacht hoofd- of kleine letters.
Aan een wandelroute — hoogstens 100 m van een weg uit een relatie met route=hiking.
In het groen — hoogstens 50 m van een vlak uit de categorieën bos of stadsgroen zoals hierboven beschreven.
Uit toegangsklasse en kenmerken ontstaat bij elke zoekopdracht een puntentotaal. De basispunten hangen af van de toegang: openbaar 800, gedoogd 500, onbekend 200. Een wandelparkeerplaats telt altijd als openbaar, ook zonder access-kenmerk, omdat hij voor iedereen is aangelegd. Daar komen bonussen bij: wandelparkeerplaats 250, of aan een wandelroute 100 als de plek geen wandelparkeerplaats is; in het groen 250; en één voor de nabijheid van het gekozen punt — 300 onder 100 m, 150 van 100 tot onder 300 m, daarboven geen. Het resultaat delen wij door een waarde die met de afstand groeit: volle honderdtallen meters, plus één, maal 0,1, plus één. Op het gekozen punt is de deler dus 1,1, bij 800 m 1,9, bij 2000 m 3,1, bij 4000 m 5,1. De 1000 dichtstbijzijnde parkeerplaatsen binnen 4000 m worden beoordeeld; de zes met het hoogste puntentotaal worden getoond. Dit puntentotaal staat in geen enkele database: het hangt af van het gekozen punt en ontstaat bij elke aanvraag opnieuw.
De vectortegels van de kaart ontstaan uit hetzelfde uittreksel met tilemaker volgens het tegelschema Shortbread, uitgebreid met drie eigen lagen: wandelroutes (wegen in relaties met route=hiking of route=foot, plus losse wegen met sac_scale of trail_visibility), toppen (natural=peak, saddle, volcano) en parkeerplaatsen (amenity=parking, als punt of als vlak). De eerste twee lagen selecteren uit OpenStreetMap en voegen geen eigen waarde toe.
Bij de parkeerplaatsen komt een eigen indeling erbij. Uit het kenmerk access vormen wij drie toegangsklassen: open (geen access-kenmerk, of yes, permissive, public, designated), klantenparkeerplaats (customers, permit, destination en de gemengde waarden customers;private en private;customers) en gesloten (elke andere waarde, bijvoorbeeld private of no). De kaart toont de eerste twee klassen en laat de derde weg; de klasse staat in de tegel, niet in OpenStreetMap. Deze indeling geldt alleen voor de kaart; het zoeken naar een startparkeerplaats gebruikt de toegangsklassen uit „Parkeerplaatsen als startpunt“.