Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

UTFGrid support for mod_tile

Aperta
#58 7 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
cpp
Ambito
backend

Direzione di ricerca

Inizia leggendo le note della issue su renderd, il grid_renderer di Mapnik e mapnik/bindings/python/python_grid_utils.hpp. Traccia come vengono costruiti gli ID delle feature e come il codice C++ esistente li scrive in un oggetto Boost.Python. Il lavoro è completo quando mod_tile può produrre UTF8Grids senza duplicare la codifica JSON in renderd.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Trying to get mod_tile producing UTF8Grids. Wondering if anyone else has looked at this. Apparently the fix would be in mapnik itself. Some notes on this from @springmeyer below.

The reason renderd does not support tile end points for interactivity/grids is that Mapnik support is partially in C++ and partially in the bindings (python or JavaScript). It ended up this way because to leverage the json support in each of those languages and not implement the full json encoding for utf8grids in C++. But in doing so, renderd needs to implement that json encoding on its own, which has not happened yet and likely shouldn't since ideally Mapnik would just do this in C++ to save the duplicative work.

The grid_renderer builds up an image like array of feature ids. Then that needs to be turned into json. The code to do it is is already in c++ actually but writes to a c++ boost python object. Instead it would need to write to a string that could be parseable as json. The bindings code is mapnik/bindings/python/python_grid_utils.hpp. We don't actually need a json encoder and the intermediate objects it would likely require.

Lingua principale
C++
Stelle
318
Fork
200
Merge medio
22h 37m
PR unite (30g)
13

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di openstreetmap/mod_tile

Tutte le issue di openstreetmap/mod_tile

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.