2p2r / velobs_web

Application web permettant aux cyclistes de signaler les problèmes sur les aménagements cyclables.
GNU General Public License v3.0
22 stars 14 forks source link

Difficultés à importer les fichiers shapefile avec phpmyadmin #205

Open bertrandgorge opened 5 years ago

bertrandgorge commented 5 years ago

Bonsoir, en suivant la doc d'installation, pour la partie "J. Importer les données géographiques dans velObs", j'ai eu pas mal de soucis à l'install. En particulier, les colonnes "spatial" étaient systématiquement NULL à l'import (peut-être un soucis avec ma version de MySQL).

Dans la mesure où j'étais en install locale (ce qui est peut-être recommandé pour tester dans tous les cas), j'ai du coup utilisé la fonction ogr2ogr.exe qui est fournie avec QGIS.

Il faut l'exécuter dans le dossier où se trouvent les fichiers exportés dans le chapitre précédent, et la fonction créé alors une table qui comporte déjà la jointure avec les données du CSV, il ne reste plus qu'à les insérer dans la table commune.

Au final, l'ensemble de la partie J peut donc être remplacée par les 4 commandes suivantes :

C:\OSGeo4W64\bin\ogr2ogr.exe -f MySQL MySQL:velobs,host=localhost,user=root,password= MesCommunes.shp -nln MesCommunes -update -overwrite -lco engine=MYISAM

C:\OSGeo4W64\bin\ogr2ogr.exe -f MySQL MySQL:velobs,host=localhost,user=root,password= MesPoles.shp -nln MesPoles -update -overwrite -lco engine=MYISAM

INSERT INTO `commune`(`id_commune`, `lib_commune`, `geom_commune`) SELECT mescommunes.insee, mescommunes.nom, mescommunes.SHAPE FROM mescommunes;

INSERT INTO `pole`( `lib_pole`, `geom_pole`, `territoire_id_territoire`) SELECT mespoles.nom, mespoles.SHAPE, 1  FROM mespoles;

Voilà...!

gerald2545 commented 5 years ago

Bonsoir Bertrand, merci pour ton retour. Quelle version de mysql chez toi?

bertrandgorge commented 5 years ago

10.1.29-MariaDB - mais si ça se trouve c'est une histoire de config entre le moteur par défaut à la création des tables ou un truc idiot comme ça... N'en reste pas moins que la manip ogr2ogr m'a semblé plus simple, sans le besoin d'utiliser de colonne de jointure, ni les fichiers CSV d'ailleurs (d'après ce que j'ai constaté parce que les noms des pôles étaient ceux des shapefile et pas des CSV modifiés à la main)....