Räumliches SQL
DuckDB-Abfragen mit Spatial- und H3-Erweiterungen auf Parquet-Dateien von mapular-mpoi mit dem mapular-geo-Server ausführen.
Der mapular-geo-Server ist DuckDB mit Spatial- und H3-Erweiterungen. Verwenden Sie ihn für Abfragen, Aggregationen und Exporte von Parquet-Dateien, die von mapular-mpoi heruntergeladen wurden.
Keine Zugangsdaten erforderlich. Funktioniert mit Dateien in /tmp, $TMPDIR und ~/Downloads.
Tools
query(sql)
DuckDB-SQL-Anweisung ausführen. Gibt Dateipfad und Vorschauzeilen zurück.
export(sql, format)
SQL-Ergebnisse nach parquet, csv oder geojson exportieren.
geocode(address)
Freitextadresse in Lat/Lon umwandeln. Gibt lat, lon, display_name, confidence und provider zurück.
Beispiele
Nach Kategorie filtern
SELECT name, latitude, longitude
FROM read_parquet('/tmp/pois.parquet')
WHERE overture_group_secondary = 'health'
LIMIT 20
Proximity-Abfrage
SELECT name, latitude, longitude,
ST_Distance(
ST_Point(longitude, latitude),
ST_Point(13.377, 52.516)
) AS dist_deg
FROM read_parquet('/tmp/pois.parquet')
WHERE ST_DWithin(
ST_Point(longitude, latitude),
ST_Point(13.377, 52.516),
0.005
)
ORDER BY dist_deg
H3-Aggregation
SELECT
h3_latlng_to_cell(latitude, longitude, 7) AS h3_index,
COUNT(*) AS poi_anzahl
FROM read_parquet('/tmp/pois.parquet')
GROUP BY 1
ORDER BY poi_anzahl DESC
LIMIT 10
Nach GeoJSON exportieren
export(
sql="SELECT name, latitude, longitude FROM read_parquet('/tmp/pois.parquet') LIMIT 100",
format="geojson"
)
Adresse geocodieren
geocode("Brandenburger Tor, Berlin")
→ { lat: 52.5163, lon: 13.3777, confidence: "high" }
Dateipfad-Einschränkungen
query beschränkt Datei-Lesezugriffe auf das System-Temp-Verzeichnis (/tmp oder $TMPDIR) und ~/Downloads. Um ein weiteres Verzeichnis zu erlauben, setzen Sie MAPULAR_GEO_DATA_DIR=/pfad/zu/daten in der Server-Umgebung.