1
0
Fork
You've already forked overpass
0
Création depuis le script R
  • Shell 86.5%
  • PowerShell 13.5%
Find a file
2026年04月14日 07:21:21 +02:00
duckdb.sh tentative échouée d'ajout des meta pour postpass 2026年04月14日 07:21:21 +02:00
misc.ps1 ajout script powershell 2026年04月04日 21:30:00 +02:00
misc.sh ajout menu par compte utilisateur 2026年04月13日 11:48:05 +02:00
osm2pgsql.sh tentative échouée d'ajout des meta pour postpass 2026年04月14日 07:21:21 +02:00
overpass.ps1 ajout test de performances 2026年04月07日 13:49:05 +02:00
overpass.sh tentative échouée d'ajout des meta pour postpass 2026年04月14日 07:21:21 +02:00
overpass_apache.sh ajout postpass 2026年04月10日 09:13:07 +02:00
overpass_docker.sh ajout menu par compte utilisateur 2026年04月13日 11:48:05 +02:00
overpass_nginx.sh ajout postpass 2026年04月10日 09:13:07 +02:00
overpass_perf.sh ajout menu par compte utilisateur 2026年04月13日 11:48:05 +02:00
overpass_sites.sh ajout postpass 2026年04月10日 09:13:07 +02:00
overpass_src.sh essai de test avec interpreter 2026年03月16日 09:14:46 +01:00
overpass_turbo.sh ajout postpass 2026年04月10日 09:13:07 +02:00
postpass.sh tentative échouée d'ajout des meta pour postpass 2026年04月14日 07:21:21 +02:00
readme.md comparaison overpass postpass sur amenity=restaurant 2026年04月10日 14:04:25 +02:00
ubuntu24.sh tentative échouée d'ajout des meta pour postpass 2026年04月14日 07:21:21 +02:00

Overpass

Tentative d'installation de l'API Overpass sur un PC Windows 11

  • Docker
  • WSL2
  • Hyper-V

Objectifs

Avoir les interrogations pour mes scripts "transport bus" en local.

Architecture de l'API

cf dev.overpass-api L'API se compose de plusieurs composants:

  • initialisation de la base de données;
  • actualisation de la base de données;
  • interrogation de la base de données.

Un serveur web (apache/nginx) avec fonctionnalité cgi permet d'offrir le service en http.


Mes scripts


Écrits en bash, et découpés par grandes fonctionnalités:

  • misc.sh: fonctions génériques
  • ubuntu24.sh: installation ubuntu
  • overpass.sh: orchestre
  • overpass_src.sh: à partir des sources
  • overpass_docker.sh: avec l'image docker
  • overpass_nginx.sh: le serveur web nginx
  • overpass_turbo.sh: le service web overpass turbo

Docker

La solution la plus simple à priori ! le site de référence: https://github.com/wiktorn/Overpass-API

Les applicatifs sont dans /app/bin Le fichier /db/changes.log peut expliquer certains comportements !

Docker peut fonctionner dans:

  • Docker Desktop
  • WSL2
  • Hyper-V/VM

Hyper-V/VM

Avec la VM ubuntu 24.04 cf script overpass_docker.sh

image wiktorn/overpass-api

Cette image est fonctionnelle et complète (serveur nginx). Le test avec Monaco est très rapide.

Les metadonnées ne sont pas disponibles: uid, user, changeset ...

Les requêtes area ne fonctionnent pas. Sur la Bretagne, la consomation disque reste raisonnable

docker@overpass:~$ du -h .
4.0K ./db/diffs
12K ./db
12K ./docker_db/db/rules
5.0G ./docker_db/db
4.0K ./docker_db/diffs
5.3G ./docker_db
5.3G .
docker@overpass:~$

Hyper-V/VM

Installation avec l'iso Ubuntu Server https://ubuntu.com/download/server : Ubuntu 24.04.4 LTS

configuration du serveur avec script ubuntu24.sh puis script overpass_src.sh puis script overpass_nginx.sh La consomation disque est plus importante 35Go versus 5Go:

overpass@overpass:~/overpass$ du -h .
12K ./rules
16K ./templates
35G ./db
5.8M ./cgi-bin
6.5G ./data
14M ./bin
41G .
overpass@overpass:~/overpass$

Il est possible d'interroger directement la base:

overpass@overpass:~/overpass$ $EXEC_DIR/osm3s_query --db-dir=db --request="node(1425716368);out meta;"
runtime remark: Timeout is 180 and maxsize is 536870912.
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API 0.7.62.11 87bfad18">
<note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
<meta osm_base=""/>
 <node id="1425716368" lat="48.1142551" lon="-1.6163230" version="25" timestamp="2025年10月29日T16:02:56Z" changeset="0" uid="0" user="">
 <tag k="bench" v="yes"/>
 <tag k="bin" v="yes"/>
 <tag k="gtfs:stop_id:FR-BRE-Star" v="6-2015"/>
 <tag k="gtfs:stop_name:FR-BRE-Star" v="Hublais"/>
 <tag k="highway" v="bus_stop"/>
 <tag k="lit" v="yes"/>
 <tag k="name" v="Hublais"/>
 <tag k="public_transport" v="platform"/>
 <tag k="shelter" v="yes"/>
 <tag k="tactile_paving" v="no"/>
 <tag k="wheelchair" v="yes"/>
 </node>
</osm>
overpass@overpass:~/overpass$
overpass@overpass:~/overpass$ $EXEC_DIR/osm3s_query --db-dir=db --request="[out:csv(::type, ::count)];node[highway=bus_stop];out count;"
runtime remark: Timeout is 180 and maxsize is 536870912.
@type @count
count 20898
overpass@overpass:~/overpass$

Performances

J'utilise wrk pour ces tests dans le script overpass_perf.sh La config

 cat <<'EOF' > perf.lua
wrk.method = "POST"
wrk.body = [[
[out:json];
node["amenity"="restaurant"](48.85,2.34,48.86,2.35);
out;
]]
wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"
EOF

puis le test

 wrk -t4 -c100 -d30s http://localhost:12345/api/interpreter -s perf.lua

Sur la Bretagne

Running 30s test @ http://localhost:12345/api/interpreter
 4 threads and 100 connections
 Thread Stats Avg Stdev Max +/- Stdev
 Latency 789.46ms 69.62ms 852.27ms 97.76%
 Req/Sec 36.16 23.10 101.00 57.65%
 3754 requests in 30.05s, 1.64MB read
Requests/sec: 124.94
Transfer/sec: 55.88KB

Sur la France

Running 30s test @ http://localhost:12345/api/interpreter
 4 threads and 100 connections
 Thread Stats Avg Stdev Max +/- Stdev
 Latency 1.09s 442.79ms 1.67s 50.00%
 Req/Sec 2.87 2.01 10.00 71.08%
 308 requests in 30.05s, 27.76MB read
 Socket errors: connect 0, read 0, write 0, timeout 292
Requests/sec: 10.25
Transfer/sec: 0.92MB

l'espace disque Bretagne 5.5G, France 29G