banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 02 July 2015 09:36

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

QGIS : Exporter une carte en sqlitedb

Bonjour,

Je cherche à savoir si QGIS est capable d'exporter une carte au format sqlitedb pour être utilisé par un appareil mobile hors ligne. Faut-il que je passe par un logiciel tiers.

Merci

Hors ligne

 

#2 Thu 02 July 2015 09:55

Benoit91
Participant assidu
Date d'inscription: 2 Oct 2008
Messages: 263

Re: QGIS : Exporter une carte en sqlitedb

Bonjour

La carte non mais les données oui. QGIS peut lire et écrire des données au format sqlite et spatialite.
Je pense que l'extension "édition hors connexion" devrait répondre à votre besoin.

Sinon, si vos données sources ne sont pas stockées en base de données, il vous faudra créer la base spatialite sur votre poste puis la copier/coller sur l'appareil mobile. En enregistrant votre projet en chemin relatif vous devriez pouvoir ouvrir votre projet de carte sur votre appareil mobile sans avoir à repointer les données sources (qui seront donc en base déportée).
Cette méthode s'applique pour une utilisation en consultation.

Vous avez l'extension 'qspatialite' pour créer et administrer une base de données spatialite via QGIS

Pour une utilisation en mode modification des données il vous faudra une base de données mère (type postgis ou spatialite ou autre) puis utiliser l'extension "édition hors connexion"

http://docs.qgis.org/2.0/fr/docs/user_m … iting.html

Cordialement

Dernière modification par Benoit91 (Thu 02 July 2015 09:58)

Hors ligne

 

#3 Thu 02 July 2015 10:01

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: QGIS : Exporter une carte en sqlitedb

En fait je cherche juste à exporter une carte utilisable avec des logiciel comme Galileo ou locus, à priori ces deux logiciel utilise le format sqlitedb.

Hors ligne

 

#4 Mon 05 October 2015 18:36

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: QGIS : Exporter une carte en sqlitedb

Bonjour,

Je suis toujours à la recherche d'informations concernant ce sujet car je ne parviens pas à exporter mes cartes pour ensuite qu'elles soit utilisable sur des logiciels mobiles hors ligne.

Merci pour votre aide

Hors ligne

 

#5 Tue 06 October 2015 07:05

gustavecoste
Participant actif
Lieu: Montpellier
Date d'inscription: 24 Apr 2013
Messages: 118

Re: QGIS : Exporter une carte en sqlitedb

Bonjour, l'extension QTiles permet de générer des cartes au format .mbtiles lisibles par la plupart des applications mobiles de cartographie. Personnellement, afin de les rendre lisibles dans Oruxmaps, j'ai dû faire une petite manipulation de la base sqlite. Si besoin je dois encore avoir le script quelque part.

Dernière modification par gustavecoste (Tue 06 October 2015 07:05)


Gustave Coste

Hors ligne

 

#6 Tue 06 October 2015 08:31

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1233
Site web

Re: QGIS : Exporter une carte en sqlitedb

Bonjour Gustave,

je pense que le script peut intéresser du monde :-)

Merci d'avance,

Mathieu


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#7 Tue 06 October 2015 08:41

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: QGIS : Exporter une carte en sqlitedb

Bonjour,

Merci pour ce retour, a priori ce que je cherche c'est la possibilité d'exporter dans un format exploitable par Mobile Atlas Creator.

Merci

Hors ligne

 

#8 Tue 06 October 2015 09:36

gustavecoste
Participant actif
Lieu: Montpellier
Date d'inscription: 24 Apr 2013
Messages: 118

Re: QGIS : Exporter une carte en sqlitedb

Voici le script à exécuter sur le fichier de sortie de QTiles (ouvrir le fichier avec un client sqlite comme SQLiteStudio par exemple). Pour l'adapter il suffit juste de compléter les infos du premier bloc INSERT (lignes commentées).

Code:

/* Requête permettant la conversion d'un fichier .mbtiles généré par l'extension QTiles de QGIS en un fichier .mbtiles similaire à ceux générés par l'application TileMill et ouvrables par l'application mobile geoODK en tant que offline layer.
Auteur: Gustave Coste
Contact: gustavecoste@gmail.com
Date: 14/10/2015
*/


/* N'est plus nécessaire depuis une mise à jour de QTiles
-- Peupler la table des métadonnées
INSERT INTO metadata
VALUES ('bounds','77.5636,-37.8018,77.5794,-37.7933'),    -- Compléter les bounds de la manière suivante : xmin,ymin,xmax,ymax
('minzoom','10'),          -- Compléter le zoom minimum
('maxzoom','23'),          -- Compléter le zoom maximum
('name','ortho_ams_test'),             -- Compléter le nom de la couche
('description',''),
('template',''),
('version','1.0.0');
*/

-- Crée les tables manquantes
CREATE TABLE grid_key (grid_id TEXT, key_name TEXT);
CREATE TABLE grid_utfgrid (grid_id TEXT, grid_utfgrid BLOB);
CREATE TABLE images (tile_data blob, tile_id text);
CREATE TABLE keymap (key_name TEXT, key_json TEXT);
CREATE TABLE map (zoom_level INTEGER, tile_column INTEGER, tile_row INTEGER, tile_id TEXT, grid_id TEXT);

-- Crée les index
CREATE UNIQUE INDEX grid_key_lookup ON grid_key (grid_id, key_name);
CREATE UNIQUE INDEX grid_utfgrid_lookup ON grid_utfgrid (grid_id);
CREATE UNIQUE INDEX images_id ON images (tile_id);
CREATE UNIQUE INDEX keymap_lookup ON keymap (key_name);
CREATE UNIQUE INDEX map_index ON map (zoom_level, tile_column, tile_row);

-- Peuple les tables nouvellement créées avec les données des anciennes tables
--Peuple la table map
INSERT INTO map
SELECT zoom_level, tile_column, tile_row, tile_column||tile_row AS tile_id, NULL AS grid_id
FROM tiles;

--Peuple la table image
INSERT INTO images
SELECT tile_data,  tile_column||tile_row AS tile_id
FROM tiles;

-- Supprime les anciennes tables
DROP TABLE grid_data;
DROP TABLE grids;
DROP TABLE tiles;



-- Crée les vues
CREATE VIEW grid_data AS SELECT map.zoom_level AS zoom_level, map.tile_column AS tile_column, map.tile_row AS tile_row, keymap.key_name AS key_name, keymap.key_json AS key_json FROM map JOIN grid_key ON map.grid_id = grid_key.grid_id JOIN keymap ON grid_key.key_name = keymap.key_name;

CREATE VIEW grids AS SELECT map.zoom_level AS zoom_level, map.tile_column AS tile_column, map.tile_row AS tile_row, grid_utfgrid.grid_utfgrid AS grid FROM map JOIN grid_utfgrid ON grid_utfgrid.grid_id = map.grid_id;

CREATE VIEW tiles AS SELECT map.zoom_level AS zoom_level, map.tile_column AS tile_column, map.tile_row AS tile_row, images.tile_data AS tile_data FROM map JOIN images ON images.tile_id = map.tile_id;

-- Nettoie la base
VACUUM;

Après, je n'ai pas vraiment cherché très loin, il y a peut-être des passerelles plus simples pour exploiter les .mbtiles fournis par QTiles. J'ai l'impression que cela dépend aussi grandement de l'outil utilisé pour visualiser le .mbtiles. Les fichiers de sortie de ce script on été testés avec GeoODK et OruxMaps pour Mobiel Atlas Creator, je ne sais pas.

Gustave

Dernière modification par gustavecoste (Wed 14 October 2015 09:17)


Gustave Coste

Hors ligne

 

#9 Tue 06 October 2015 10:30

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1233
Site web

Re: QGIS : Exporter une carte en sqlitedb

Merci beaucoup !


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#10 Sun 06 December 2015 18:59

NyPon
Participant actif
Date d'inscription: 3 Nov 2008
Messages: 111

Re: QGIS : Exporter une carte en sqlitedb

Bonjour,

Je vous remercie grandement pour cette aide qui m'est précieuse pour avancer.
Je galère encore sur le chargement de couches offline depuis Geoodk.
J'ai pour l'instant laissé tombé oruxmap car il ne propose pas de saisie de polygone (enfin il me semble).
Qgis mobile n'est pas compatible avec Lollipop...
Je me suis rabattu sur Geoodk qui semble complet. j’arrive à faire les formulaires et créer des polygones...
J'ai réussi à afficher des tuiles provenant de mapbox mais pas sous forme de photo aériennes.
J'ai donc essayé avec qtile mais je n'arrives pas au bout de la procédure...

J'ai testé la procédure en exportant un mbtiles depuis qgis avec qtile.
j'ai ouvert le mbtiles généré avec sqlitestudio,
J'ai lancé les commandes sql et tout s'est bien passé.
J'ai renommé mon fichier après (?) et l'ai chargé dans le dossier offlinelayers de geoodk.
Lorsque j'essaye de charger mes tuiles depuis Geoodk, j'ai le message d'erreur suivant :

Code:

length=4; index=4

Je peux faire Ok mais il revient sur la liste de choix des couches...
Est-ce que vous avez déjà rencontré ce genre de problème ?

Pour info, je travail sous kubuntu...

Je vous remercie,
Nicolas

Hors ligne

 

#11 Mon 07 December 2015 05:48

gustavecoste
Participant actif
Lieu: Montpellier
Date d'inscription: 24 Apr 2013
Messages: 118

Re: QGIS : Exporter une carte en sqlitedb

Bonjour.
Pour info, Qfield, un portage de QGIS sur Android développé par OpenGIS vient d'être accessible sur Android 5. Mais il est en version expérimentale.

Concernant ton message d'erreur je n'ai pas vraiment d'idées. As-tu bien mis le fichier mbtile dans un dossier au nom de la couche puis dans le dossier offlinelayers? ex:

Code:

geoodk/OfflineLayers/ma_couche/ma_couche.mbtiles

Gustave Coste

Hors ligne

 

#12 Mon 07 December 2015 07:39

NyPon
Participant actif
Date d'inscription: 3 Nov 2008
Messages: 111

Re: QGIS : Exporter une carte en sqlitedb

Bonjour,

Merci pour la réponse.

Oui, pour qfield, j'avais vu mais il me semblait qu'il ne me convenait pas, je vais aller jeter à nouveau un coup d’œil.

Concernant Geoodk, j'ai bien le chemin suivant :

Code:

geoodk/OfflineLayers/tiles/tiles.mbtiles

Avez-vous une autre idée ?
J'ai renommé le fichier après avoir fait les requêtes dans la base...
Pensez-vous que ça peut venir de là ?

Nicolas

Hors ligne

 

#13 Mon 07 December 2015 08:06

gustavecoste
Participant actif
Lieu: Montpellier
Date d'inscription: 24 Apr 2013
Messages: 118

Re: QGIS : Exporter une carte en sqlitedb

Concernant le nom du fichier, je ne sais pas. Le plus prudent serait peut-être de laisser le même nom que dans la table metadata du fichier .mbtiles.

Sinon, cela peut valoir le coup de chercher du coté de la mail list utilisateur de geoodk.


Gustave Coste

Hors ligne

 

Pied de page des forums

Powered by FluxBB