Home gis Rilasciata la versione 2.4 di mongoDB con nuove ed interessanti caratteristiche sugli oggetti geometrici

Rilasciata la versione 2.4 di mongoDB con nuove ed interessanti caratteristiche sugli oggetti geometrici

3 min di lettura
0
0
86
Cattura77

Il 19 Marzo 2013 è stata rilasciata la versione 2.4 di MongoDB, un data base noSQL dalle enormi potenzialità.

Questo la nota di rilascio ufficiale

http://docs.mongodb.org/manual/release-notes/2.4/

E’ da segnalare la nuova feature sugli oggetti geometrici che, da questa versione, supporta i tipi complessi (geoJSON) e pertanto consente di rappresentarli geometricamente nel formato WGS84.

I tipi supportati sono punto, linea e poligono da associare al nuovo indice spaziale “2dsphere“.

Con la precedente versione questo non era possibile in quanto era supportato solo l’oggetto semplice “punto” su piano euclideo (coppia di lat/lon senza sistema di riferimento) associato all’indice spaziale semplice “2d“.

Che differenza c’è tra un semplice punto su piano euclideo ed un oggetto geometrico complesso?

Tutta la differenza del mondo!

Mentre il primo è solo una coppia di coordinate rappresentata su un semplice piano Euclideo ossia su un piano “piatto” (non sferico come invece è in realtà la terra), del tipo:

{lon, lat}

Il secondo è un oggetto geometrico complesso ($geometry) che oltre alle informazioni su latitudine e longitudine, ha informazioni sul tipo di oggetto geometrico (punto, linea, poligono) e soprattutto sul sistema di riferimento delle coordinate usato.

E’ proprio il sistema di riferimento delle coordinate a caratterizzarne la composizione “sferica” e  quindi la sua rappresentabilità su sistemi GIS di tipo “Earth-like“.

Le query spaziali disponibili associate a questo nuovo oggetto di tipo $geometry sono :

  • Inclusione attraverso l’operatore $geoWithin
  • Intersezione attraverso l’operatore $geoIntersects
  • Prossimità attraverso l’operatore $near

Questa invece la struttura (json) degli oggetti geometrici complessi:

Punto:

1
2
3
4
5
6
{
  loc : { 
         type : "Point" ,
         coordinates : [ 40, 5 ]
  }
}

Linea:

1
2
3
4
5
6
{
    loc : {
           type : "LineString" ,
           coordinates : [ [ 40 , 5 ] , [ 41 , 6 ] ]
    }
}

Poligono:

1
2
3
4
5
6
{
  loc : { 
         type : "Polygon" ,
         coordinates : [ [ [ 0 , 0 ] , [ 3 , 6 ] , [ 6 , 1 ] , [ 0 , 0 ] ] ]
  }
}

Il sistema di riferimento di default per gli oggetti $geometry è WGS84.

Questo invece l’indice da creare sulla collection geometrica:

1
db.collection.ensureIndex( { loc : "2dsphere" } )

Certo siamo ancora molto lontani dalle potenzialità dell’oggetto geometrico SDO_GEOMETRY di Oracle, però è certamente un buon inizio.

Che ve ne pare? Usate oggetti geometrici con data base noSQL? Vi interessa questo argomento?

 

 

Carica più articoli correlati
Carica più per Alessandro De Marchi
Carica più in gis

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Guarda anche

L’ inbound marketing spiegato a mio zio (imprenditore)

L’ Inbound marketing spiegato a mio zio (imprenditore) Se sei un imprenditore e le m…