The aim of the project was to make the GeoJSON standard interoperable with the Qt Location module component of the Qt framework . The Qt framework location library offers, amongst other features, the chance to represent the geographic locations on a map using geometric figures. GeoJSON is an open standard based on the JavaScript Object Notation (JSON) built to provide a clear representation of geometric entities on a geographic map. Since Qt Location only partially supports GeoJSON features, before correctly developing the import and export modules from GeoJSON file to framework and viceversa, it was necessary to upgrade the Location API source files and add support for the missing features, which was holes in geographic polygon class. Then an abstract class with different methods was designed and developed.

L’obiettivo del progetto è stato quello di rendere la libreria Qt Location del framework Qt interoperabile con lo standard GeoJSON. Il modulo Qt Location offre, tra altre funzionalità, la possibilità di rappresentare luoghi geografici su una mappa. I dati sulla posizione di questi luoghi, espressi in coordinate geografiche, vengono memorizzati in classi che rappresentano specifiche forme geometriche. GeoJSON è uno standard aperto progettato per rappresentare geometrie spaziali i cui attributi sono descritti attraverso JavaScript Object Notation (JSON). Secondo lo standard GeoJSON, le geometrie rappresentabili sono punti, linee, poligoni, o collezioni multiple di queste tipologie. Per riuscire a importare ed esportare correttamente dati GeoJSON in Qt e rendere i due sistemi interoperabili, è stato necessario rendere rappresentabili biunivocamente le geometrie dello standard con quelle del framework. Dal momento che Qt supporta solo parzialmente le caratteristiche di GeoJSON, è stato necessario modificare i file sorgenti delle classi poligono di Qt Location, in particolare è stato aggiunto il supporto ai buchi. In seguito è stata progettata e sviluppata una classe astratta con diversi metodi: importGeoJson(), exportGeoJson(), isValidGeoJson(), toString(). La prima funzione permette di leggere e rappresentare un documento GeoJSON in una struttura dati opportunamente modellata, contenente le geometrie Qt Location equivalenti a quelle presenti nel documento GeoJSON di partenza, il metodo exporter permette di leggere la struttura dati generata dell’importer e restituisce un documento GeoJSON valido, isValidGeoJson opera la validazione di un documento GeoJSON con conformità allo standard. È presente anche la funzione per visualizzare a scopo di debug la struttura dati importata.

Progettazione e sviluppo dell'interoperabilità e del linting in relazione a GeoJSON nel framework Qt

SHEROLLARI, JULJAN
2018/2019

Abstract

The aim of the project was to make the GeoJSON standard interoperable with the Qt Location module component of the Qt framework . The Qt framework location library offers, amongst other features, the chance to represent the geographic locations on a map using geometric figures. GeoJSON is an open standard based on the JavaScript Object Notation (JSON) built to provide a clear representation of geometric entities on a geographic map. Since Qt Location only partially supports GeoJSON features, before correctly developing the import and export modules from GeoJSON file to framework and viceversa, it was necessary to upgrade the Location API source files and add support for the missing features, which was holes in geographic polygon class. Then an abstract class with different methods was designed and developed.
2018
2020-02-25
Design and development in Qt framework of GeoJSON interoperability and linting
L’obiettivo del progetto è stato quello di rendere la libreria Qt Location del framework Qt interoperabile con lo standard GeoJSON. Il modulo Qt Location offre, tra altre funzionalità, la possibilità di rappresentare luoghi geografici su una mappa. I dati sulla posizione di questi luoghi, espressi in coordinate geografiche, vengono memorizzati in classi che rappresentano specifiche forme geometriche. GeoJSON è uno standard aperto progettato per rappresentare geometrie spaziali i cui attributi sono descritti attraverso JavaScript Object Notation (JSON). Secondo lo standard GeoJSON, le geometrie rappresentabili sono punti, linee, poligoni, o collezioni multiple di queste tipologie. Per riuscire a importare ed esportare correttamente dati GeoJSON in Qt e rendere i due sistemi interoperabili, è stato necessario rendere rappresentabili biunivocamente le geometrie dello standard con quelle del framework. Dal momento che Qt supporta solo parzialmente le caratteristiche di GeoJSON, è stato necessario modificare i file sorgenti delle classi poligono di Qt Location, in particolare è stato aggiunto il supporto ai buchi. In seguito è stata progettata e sviluppata una classe astratta con diversi metodi: importGeoJson(), exportGeoJson(), isValidGeoJson(), toString(). La prima funzione permette di leggere e rappresentare un documento GeoJSON in una struttura dati opportunamente modellata, contenente le geometrie Qt Location equivalenti a quelle presenti nel documento GeoJSON di partenza, il metodo exporter permette di leggere la struttura dati generata dell’importer e restituisce un documento GeoJSON valido, isValidGeoJson opera la validazione di un documento GeoJSON con conformità allo standard. È presente anche la funzione per visualizzare a scopo di debug la struttura dati importata.
File in questo prodotto:
File Dimensione Formato  
tesi.pdf

Open Access dal 25/02/2023

Descrizione: Documento di tesi in formato PDF/A.
Dimensione 2.24 MB
Formato Adobe PDF
2.24 MB Adobe PDF Visualizza/Apri

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12075/6193