Ho l'obbligo di archiviare e gestire i dati geofisici archeologici raccolti come una matrice rettangolare di campioni: un'immagine raster.
- Ogni raster di solito campionerà 20x20 o 30x30 in virgola mobile, in genere campionati ad intervalli di 1m.
- Un sondaggio consisterà in una o più di queste immagini in una determinata posizione.
- È possibile che due diversi sondaggi possano aver luogo in diversi paesi o aree che utilizzano proiezioni diverse, ma ogni sondaggio utilizzerà una sola proiezione.
- Non saranno mai visti insieme, di solito ogni sondaggio siederà da solo.
- I dati saranno accessibili solo da un front-end personalizzato, quindi non ci saranno utenti che ne ottengano il controllo diretto
psql
o simile. - Ogni campione deve essere archiviato così come è stato raccolto, quindi non posso riproiettarlo in un CRS comune come Web Mercator perché un campione potrebbe finire per coprire un'area più o meno rispetto alla proiezione originale e sarà necessario eseguire l'analisi sui dati.
Come devo conservare al meglio i dati in un database PostGIS Raster? Le opzioni che ho escogitato sono:
- Ignora i vincoli SRID e archivia tutti i dati in una tabella, scrivendo il mio codice front-end per gestire la manipolazione dei dati in modo coerente.
- Archivia tutti i dati in una tabella e riscrivi il vincolo SRID come un composto di SRID e ID sondaggio.
- Tramite l'ereditarietà delle tabelle, creare una nuova tabella per ogni nuovo SRID.
- Tramite l'ereditarietà delle tabelle, creare una nuova tabella per ciascun sondaggio.
1 e 2 rompono alcune delle belle parti automatizzate di PostGIS, ma saranno altrimenti nascoste nel codice front-end. Ma le query richiederanno probabilmente un po 'più di tempo.
3 e 4 potrebbero finire con un'esplosione di tabelle che renderebbe più difficile la gestione dei vincoli FK e così via.
In pratica, il numero di raster per sondaggio è compreso tra 1 e 100 o più e il numero di sondaggi è probabile che raggiunga le centinaia. Ma è probabile che il numero di proiezioni distinte rimanga molto basso, il che favorisce 3.