Pages: 1
- Sujet précédent - Postgis raster (windows) : message d'erreur lors de l'import - Sujet suivant
#1 Mon 31 May 2021 17:02
- image95
- Participant assidu
- Date d'inscription: 6 Sep 2014
- Messages: 257
Postgis raster (windows) : message d'erreur lors de l'import
Bonjour,
Sous windows, je souhaite importer un raster dans une base postgis (postgresql 13 et postgis 3.1).
J'ai activé l'extension raster grace à :
Code:
CREATE EXTENSION postgis_raster;
J'ai réussi à convertir le fichier geotif (jeu de données de 2giga MNT ign RGE_alti à 5m en 1 fichier sql.
grace à :
Code:
C:\Program Files\PostgreSQL\13\bin>raster2pgsql -c -C -s 2154 -N 0 -F -I -M -Y P:\DEPT52_MNT_5M.tif alti.IGN_rge_alti_5m > P:\IGN_rge_alti_5m.sql
Mais pour l'étape de l'import du fichier sql dans la base, j'obtiens ce message d'erreur :
Code:
C:\Program Files\PostgreSQL\13\bin>psql -d siege_data_brutes -f P:\IGN_rge_alti_5m.sql BEGIN CREATE TABLE psql:P:/IGN_rge_alti_5m.sql:5: ERREUR: mémoire épuisée DÉTAIL : Ne peut pas agrandir le tampon de chaîne, qui contient 1073741808 octets, de 8191 octets. CONTEXTE : COPY ign_rge_alti_5m, ligne 1 psql:P:/IGN_rge_alti_5m.sql:6: ERREUR: la transaction est annulée, les commandes sont ignorées jusqu'à la fin du bloc de la transaction psql:P:/IGN_rge_alti_5m.sql:7: ERREUR: la transaction est annulée, les commandes sont ignorées jusqu'à la fin du bloc de la transaction psql:P:/IGN_rge_alti_5m.sql:8: ERREUR: la transaction est annulée, les commandes sont ignorées jusqu'à la fin du bloc de la transaction ROLLBACK psql:P:/IGN_rge_alti_5m.sql:10: ERREUR: la relation « alti.ign_rge_alti_5m » n'existe pas
Si je comprends bien, il s'agirait d'un probleme d'allocation mémoire...? Si une personne pourrait me confirmer la signification de l'erreur et/ou une proposition de résolution ? Merci bien.
Hors ligne
#2 Mon 31 May 2021 18:21
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Postgis raster (windows) : message d'erreur lors de l'import
Bonsoir,
Là vous tentez de mettre le raster entier dans une seule ligne de la table ! ca ne marchera pas pour un tel raster.
Il faut le découper en tuiles, chaque tuile sera stockée dans une ligne de la table raster
l'option "-t auto" permet de tuiler le raster sur une taille déterminée par le programme. Sinon vous pouvez donner une taille de tuile (par ex: -t 100x100)
En général, c'est bien d'avoir beaucoup de petites tuiles plutôt que peu de grandes tuiles, plus longues à récupérer, à traiter etc.
Ce n'est pas la peine de passer par un fichier SQL intermédiaire: ca prend de la place et du temps pour rien.
Vous pouvez charger directement le raster en base:
Code:
raster2pgsql -t auto -c -C -s 2154 -N 0 -F -I -M -Y P:\DEPT52_MNT_5M.tif alti.IGN_rge_alti_5m | psql siege_data_brutes
Nicolas
Hors ligne
#3 Mon 31 May 2021 18:30
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Postgis raster (windows) : message d'erreur lors de l'import
Ptet aussi mettre l'option -P lors du chargement:
Code:
-P Pad right-most and bottom-most tiles to guarantee that all tiles have the same width and height.
C'est mieux pour les calculs futurs si toutes les tuiles ont les mêmes dimensions.
Nicolas
Hors ligne
#4 Tue 01 June 2021 09:25
- image95
- Participant assidu
- Date d'inscription: 6 Sep 2014
- Messages: 257
Re: Postgis raster (windows) : message d'erreur lors de l'import
Un grand merci pour votre aide.
Hors ligne
Pages: 1
- Sujet précédent - Postgis raster (windows) : message d'erreur lors de l'import - Sujet suivant