Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 19/08/2016 14:49:43
- chaugab
- Membre
Importer fichier .json
Bonjour, je suis nouveau sur le forum, je viens de m'inscrire, car je ne trouve pas de solution pour importer le contenu d'un fichier .json dans ma base de données. Le but de l'opération est d'importer des points (coordonnées géospatiales) à partir de logs, les stocker dans la base pg et en suite convertir tout ça en shapefile.
J'ai bien pris connaissance de ceci
https://www.postgresql.org/docs/9.3/sta … -json.html
http://docs.postgresqlfr.org/9.6/datatype-json.html
http://www.postgresqltutorial.com/postgresql-json/
http://blog.endpoint.com/2016/02/conver … alues.html
et de plein d'autres tutos et forums mais je ne vois toujours pas comment j'indique l'emplacement de mon fichier .json à lire
Si quelqu'un sait comment faire, ça serait génial!
Merci
Hors ligne
#2 19/08/2016 15:36:33
- rjuju
- Administrateur
Re : Importer fichier .json
Il manque un peu de contexte pour donner une réponse détaillée, mais vous pouvez par exemple faire :
COPY ma_table(mon_champ_json) FROM '/chemin/vers/fichier.json';
(si le fichier est sur le serveur, utilisez \copy si le fichier est disponible en local)
Julien.
https://rjuju.github.io/
Hors ligne
#3 19/08/2016 16:07:04
- chaugab
- Membre
Re : Importer fichier .json
MERCI BEAUCOUP! Je vais enfin pouvoir avancer
Hors ligne
#4 23/08/2016 11:23:58
- chaugab
- Membre
Re : Importer fichier .json
Bon voilà, j'essayé d'extraire les coordonnées ci-dessous. J'ai importé tout le fichier json avec
create table field(data json);
COPY field(data) FROM '/home/guest-pc5/field.json';
Le contenu du fichier :
{"vertices":[{"lat":46.744628268759314,"lon":6.569952920654968},
{"lat":46.74441692818192,"lon":6.570487107359068},
{"lat":46.74426116111054,"lon":6.570355867853787},
{"lat":46.74447250168793,"lon":6.569821681149689}],
"name":"demo-field",
"cropType":"sugarbeet",
"cropPlantDistance":0.18000000715255737,
"rowDistance":0.5,
"numberOfRows":[28,12,12],
"seedingDate":"2016-08-17T07:39+00:00"}
Maintenant, je veux seulement récupérer les champs "vertices" pour les mettre dans une table que je souhaite utiliser dans geoserver.
J'ai essayé d'utiliser les fonctions de la doc mais rien à faire...
Dernière modification par chaugab (23/08/2016 14:35:33)
Hors ligne
#5 23/08/2016 11:44:55
- gleu
- Administrateur
Re : Importer fichier .json
Et ça donne quoi comme requête avec quoi comme résultat ?
Guillaume.
Hors ligne
#6 23/08/2016 14:17:54
- chaugab
- Membre
Re : Importer fichier .json
j'ai trouvé comment selectionner mon tableau!
SELECT json_array_elements(data->'vertices') from field;
json_array_elements
----------------------------------------------------
{"lat":46.744628268759314,"lon":6.569952920654968}
{"lat":46.74441692818192,"lon":6.570487107359068}
{"lat":46.74426116111054,"lon":6.570355867853787}
{"lat":46.74447250168793,"lon":6.569821681149689}
(4 rows)
maintenant il faut que je trouve comment je formate tout ça pour entrer les coordonnées dans la table suivante
create table geoField(id serial primary key, pointA geometry, pointB geometry, pointC geometry, pointD geometry);
si quelqu'un à une idée... je continu à chercher.
Dernière modification par chaugab (23/08/2016 15:36:50)
Hors ligne
#7 24/08/2016 10:09:39
- chaugab
- Membre
Re : Importer fichier .json
J'essaye d'utiliser la fonction json_to_recordset mais je tombe sur une erreur.
select * from json_to_recordset('[{"lat":46.744628268759314,"lon":6.569952920654968},{"lat":46.74441692818192,"lon":6.570487107359068},{"lat":46.74426116111054,"lon":6.570355867853787},{"lat":46.74447250168793,"lon":6.569821681149689}]') as (lat numeric, lon numeric);
ERROR: function json_to_recordset(unknown) does not exist
LINE 1: select * from json_to_recordset('[{"lat":46.744628268759314,...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Hors ligne
#8 25/08/2016 09:11:35
- gleu
- Administrateur
Re : Importer fichier .json
Quelle version de PostgreSQL avez-vous ?
Guillaume.
Hors ligne
#9 25/08/2016 09:15:31
- chaugab
- Membre
Re : Importer fichier .json
J'utilise la version 9.3.14
Hors ligne
#10 25/08/2016 09:18:53
- gleu
- Administrateur
Re : Importer fichier .json
Donc je ne vois pas pourquoi vous êtes étonné par ce message d'erreur. Il n'y a pas de fonction json_to_recordset en 9.3 comme l'indique la doc : http://docs.postgresqlfr.org/9.3/functions-json.html
Guillaume.
Hors ligne
#11 25/08/2016 09:21:57
- chaugab
- Membre
Re : Importer fichier .json
Je n'avais pas vu, merci
Hors ligne
Pages : 1