bedbe0f3f3
fix: pin dimensions match Kartographer mapbox-lib.js exactly
...
Kartographer/mapbox-lib.js defines:
sizes = { small:[20,50], medium:[30,70], large:[35,90] }
iconSize: sizes[size] <- CSS stretches image to this
Previous: pin-m=27x41 -> CSS stretched to 30x70 (+11% h, +71% v)
Result: slim tip distorted into fat oval shape
Fix: generate images at exact expected dimensions:
pin-s: 20x50, pin-m: 30x70, pin-l: 35x90 (@1x)
pin-m@2x: 60x140
Geometry: r=w*0.47 (circle fills width), cy=r+1, tipY=h-1
2026-07-01 13:48:39 +00:00
641312aba9
fix: proper 27x41 pin proportions, white border+dot fully opaque
...
- Non-square canvas (pin-m: 27x41 @1x = 54x82 @2x, Maptiler standard)
- r=37% of width -> circle fills 74% of canvas width
- r/d=0.37 -> 22deg opening angle (Google Maps standard)
- White border: borderW=max(2px,8%width), A=255 (fully opaque)
- White inner dot: r*0.38, A=255 (fully opaque, clearly visible)
- Fill: 85% opacity (A=217)
2026-07-01 12:33:05 +00:00
9367ba5b6b
fix: slim pin geometry, r/d=0.35 opening angle 20deg
...
Build & Push marker-api / build (push) Failing after 4s
Was: r=35.5% of size -> r/d=0.59 -> 36 deg opening -> fat oval
Now: r=24% of size -> r/d=0.35 -> 20 deg opening -> proper Google Maps pin shape
2026-07-01 12:23:31 +00:00
3960c9c5c1
fix: marker pin 32x32 canvas, correct geometry, 80% opacity
...
- Square canvas (pin-m=32x32 @1x, 64x64 @2x) - fits MediaWiki slot
- r=35.5% of width, tipY=97.5%: teardrop no longer clipped
- 80% transparency: fill.A=204, white border A=220, inner dot A=204
2026-07-01 12:13:48 +00:00
9df190aca8
feat: add Go marker-api service for MediaWiki Kartographer pin support
...
- services/marker-api/: Go HTTP service (0 external deps, ~8 MB RAM)
- Mathematically correct teardrop pin shape (Google Maps style)
- Tangent-based outline: circle + straight sides meeting at tip
- White border + white inner dot, in-memory cache (max 500 entries)
- .forgejo/workflows/build-marker-api.yml: CI builds & pushes to
Forgejo registry on push to main (image: rd13_tile_server-marker-api)
- docker-compose.yml: add marker-api service on port 9984
- Caddyfile (rd13_system_proxy): route /styles/v4/marker/* -> :9984
- docs/ADMIN.md + MAINTAINER.md: marker-api dokumentiert
Fixes: /styles/v4/marker/pin-m+{color}(@{scale}x).png was 404, now 200
2026-07-01 11:59:00 +00:00
b0fdcd4332
docs: finalize Nextcloud/HA integration endpoints and update history
2026-06-22 15:28:12 +00:00
35b90dc51a
chore: Short comparison of open-street-map zoom levels z=14 und z=16
2026-06-22 15:19:37 +00:00
315914a355
docs(satellite): complete analysis & decision log – enhancement on hold
...
- REQ-006 rewritten with provider matrix, cost comparison, integration sketch
- MapTiler On-Prem identified as cost-optimal private self-hosting solution
- Sentinel Hub free tier analysis: Germany z14 = 1,333 years (not viable)
- Session history: 6-prompt analysis with tables & findings
- Status: On hold pending z11 feasibility validation
- Next: Test z11 in MediaWiki/HA/Nextcloud (2-4 weeks)
2026-06-22 14:40:54 +00:00
5e5224d413
docs: capture satellite hybrid next steps
2026-06-15 19:38:15 +00:00
c204faaa9f
Merge: Combine Planetiler z16 build + Satellite PNG→JPEG conversion (all 3 sources complete)
...
# Conflicts:
# docs/history/summary/PROJECT_CONTEXT.md
2026-06-15 13:26:04 +00:00
e022f839db
fix(satellite): PNG→JPEG-Konvertierung abgeschlossen, verifiziert und dokumentiert
...
BREAKING CHANGE: satellite.mbtiles ist nun einheitlich JPEG (zuvor gemischte PNG/JPEG)
Features:
- Neue Scripts: convert-satellite-to-jpeg.py (batch-basiert, resume-fähig)
- download-satellite.py jetzt mit on-the-fly PNG→JPEG-Konvertierung
- docker-compose.download.yml: Pillow installiert, Qualität konfigurierbar
Fixes:
- 1.505.049 PNG-Tiles zu JPEG konvertiert (22.9 Minuten)
- SQLite quick_check bestanden (png=0, quick_check=ok, total=5.6M)
- Martin lädt satellite-Source ohne Format-Warnungen
- Alle 3 Sources (osm, osm-europe, satellite) geladen und produktiv
Documentation:
- ADMIN.md: Satellit-Konvertierungs-Anleitung aktualisiert
- PROJECT_CONTEXT.md: Finaler Status dokumentiert
- Session-Log: 2026-06-15_satellite-fix-cleanup_session.md
Cleanup:
- Temporäre Dateien gelöscht
- 17GB Backup gelöscht
- __pycache__ gelöscht
2026-06-15 13:18:55 +00:00
43dc5ff662
chore: add controlled planetiler build workflow
2026-06-15 14:29:52 +02:00
f6b30bb06c
fix: chunk-Generator NoneType-Bug behoben – kein Crash mehr am Generator-Ende
2026-06-14 13:43:25 +00:00
aaf499352b
fix: satellite-download chunk-basiert (max 500 Futures im RAM), restart: on-failure
2026-06-13 17:52:55 +00:00
62494438ef
fix: satellite-download .part-Datei (Martin-safe), 1GB Limit, YAML bereinigt
2026-06-13 17:49:53 +00:00
c01ddeed31
feat: docker-compose.build.yml – Europa z16 Build-Config, 12 CPUs 28GB RAM
2026-06-13 10:41:49 +00:00
83492ff96a
feat: docker-compose.build.yml – Planetiler Build-Container für z16 auf Host-Rechner
2026-06-13 10:31:21 +00:00
407f6c4faf
fix: satellite-download OOM gefixt (bounded queue), 16 Threads, 2GB Limit
2026-06-13 10:12:48 +00:00
6b5009f51e
feat: satellite-download als eigenständiger Compose-Stack, build-host.sh, Script robust
2026-06-13 09:46:09 +00:00
c47f4785b1
docs: ADR-002 – kein Self-Build z16/Satellit auf aktueller HW, Constraints dokumentiert
2026-06-13 09:20:22 +00:00
2765bb93f3
docs: project context updated – stack fully operational 2026-06-13
2026-06-13 06:19:38 +00:00
79bba7ca02
feat: tileserver-gl on port 9983, docs updated
2026-06-12 09:29:50 +00:00
f4fbb690be
chore: update copilot instructions and reorganize history into docs/
2026-06-12 09:26:01 +00:00
ba1d888ef2
docs: ADR-001 Martin + tileserver-gl Stack-Entscheidung
2026-06-12 09:24:45 +00:00
dbebc96c2e
docs: align tile hostnames
2026-06-10 08:30:08 +00:00
f56f9c21b8
feat: add rate limiting requirements and implementation plan for public tile server
2026-06-10 08:00:27 +00:00
6a20e311f4
docs: finalize mediawiki kartographer snippet updates
2026-06-10 07:44:21 +00:00
0a5f6cd005
feat: enable martin webui and prep mediawiki integration
2026-06-10 07:43:22 +00:00
048805302d
chore: 3-Zielgruppen-Docs + .copilot-no-tests angelegt
2026-06-03 11:17:15 +00:00
cd73f91021
feat: migrate from TileServer-GL to Martin
...
- docker-compose: ghcr.io/maplibre/martin:v1.10.1, Port 3000
- config/martin.yaml: Auto-Discovery MBTiles/Styles/Sprites/Fonts, CORS built-in
- nginx-Container entfernt (NPM uebernimmt Proxy/SSL/Routing)
- config/config.json + nginx/ entfernt (TileServer-GL Artefakte)
- docs: alle Endpunkt-URLs auf Martin-Format aktualisiert
- .github/copilot-instructions.md: Stack auf Martin (Rust) aktualisiert
- Vorteile: Hot-Reload, CORS built-in, ~10x weniger RAM
2026-05-30 17:15:44 +00:00
7dd8b44ea8
feat: add Home Assistant support
...
- docs/homeassistant-config.md: Lovelace Map Card + custom:map-card (HACS)
- docs/api-endpoints.md: HA Tile-Layer Beispiel ergänzt
- .github/copilot-instructions.md: HA als Zieldienst aufgeführt
- nginx/nginx.conf: HA in CORS-Kommentar ergänzt
2026-05-30 16:01:28 +00:00
bfd8dfdf96
feat: initial tile server setup
...
- TileServer-GL + nginx reverse proxy (docker-compose)
- CORS-Konfiguration für MediaWiki, Nextcloud & weitere Dienste
- Rate-Limiting & Tile-Caching-Header via nginx
- config/config.json: OSM + Satellitenkacheln
- scripts/download-data.sh: Planetiler (OSM), Sentinel-2 Hinweise
- docs: API-Endpoints, MediaWiki Kartographer, Nextcloud Maps
- .gitignore: MBTiles/PMTiles und .env ausgeschlossen
2026-05-30 15:57:07 +00:00