#1 Tue 27 March 2007 15:53
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Importation de données d'ArcView a Postgresql/Postgis
Bonjour je voudrai importer les données géographiques (couches) généré avec ArcView dans mn SGBD saptiale : postgres/postgis.
Pour chaque couche je dispose des fichiers suivante :*.shp ,*.sbn, *.shx,*.dbf et parfois *.sbx.
Je ne sais pas si je doit importer que le shape??? et reprendre manuellement les données attributaires qui lui sont associé???
Ou il y'a une commande qui me permet d'importer les 2 types de données???
J'ai éssayer avec plusieurs guide :
1) J'ai créer une BD ss postgis ou je n'ai pas ajouter de table;
2) J'ai tapé la commande suivante ds l'invite commande :
shp2pgsql -D [fichier−shp] [nom−de−la−table] [base−de−donnees] | psql [base−de−donnees]
mais il m'affiche tj des erreurs...(o début cété parceke jé ouvert l'invite commande ss le cpte windows admin ) j'ai alors ouvert l'invite du cpte user :
1) runas /noprofile /user:postgres cmd
2) dans la nouvelle fenetre j'ai tapée en remplacant par les valeur :
shp2pgsql -D [fichier−shp] [nom−de−la−table] [base−de−donnees] | psql [base−de−donnees]
il m'affiche l'errreur suivante :
ERROR : function addgeometrycolumn ("unknown", "unknown","unkwnown","unkwnown"","unkwnown","integer")does not exist
Ligne 1 : select AddGeometryColumn('','......)
Astuces : No function matches the given name and argument types.you may need to add explicit type casts.
ERROR : current transaction is aorted, commands ignored until end of transaction block
ROLLBACK
............................
MERCI d'avance et j'éspére vraiment trouver une réponse sur ce forum
Hors ligne
#2 Tue 27 March 2007 18:03
- llby
- Participant occasionnel
- Date d'inscription: 14 Dec 2005
- Messages: 49
Re: Importation de données d'ArcView a Postgresql/Postgis
Moi j'ai aucun problème avec le shp2pgsql.
Je fais :
shp2pgsql -D [fichier−shp] [nom−de−la−table] [base−de−donnees] > nom_fichier.sql
Ca me crée un fichier sql dans le répertoire bin de postgre , je peux donc l'étudier au cas où.
Je vais sous pgADmin, j'ouvre le fichier sql avec l'éditeur Sql ET hop PLAY (la petite flèche verte). Et tout est créé magiquement
Edit :
Je fais même -c plutôt comme option (create).
shp2pgsql -C [fichier−shp] [nom−de−la−table] > nom_fichier.sql
Dernière modification par llby (Tue 27 March 2007 18:05)
Hors ligne
#3 Tue 27 March 2007 18:08
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
mais la base de données doit devrai etre créer avant d'éxéuté cette commande, est ce que la table meme devrait etre créer manuellement avant d'éxécuté cette commande ou le programme va créer automatiquement une table ayant la structure correspondante????
MERCI
Hors ligne
#4 Tue 27 March 2007 18:56
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
Je vient de localiser l'erreur mais je ne comprend pas comment faire:
Quand j'éxécute la commande sur la Base de données (nom=postgis) créer par défaut ca marche mais sur les base de données que je vient d créer ca ne marche pas.
Peut etre il faut apporté quelque modification a niveau de la base avant d'éxécuter cete commande???
Hors ligne
#5 Tue 27 March 2007 18:58
Re: Importation de données d'ArcView a Postgresql/Postgis
Bonjour,
Votre erreur concerne postgis. Vous n'avez pas déclaré votre base comme étant une base postgis. Vous devez lancer quelque commande. Pour ma part je me sert de cette doc pour me rappeler les diverses fonctions :
http://www.postgis.fr/node/234
En gros :
Code:
createlang plpgsql [VotreBaseDeDonnées] psql -d [VotreBaseDeDonnées] -f lwpostgis.sql psql -d [yourdatabase] -f spatial_ref_sys.sql
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#6 Wed 28 March 2007 00:18
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
je n'arrive pas a trovuer comment déclarer une base de données comme une base postgis.
En fait ces documents utilise les fonctonnalités de GEOS, alors que je ne l'ai pas installé manuellement je ne sais meme pas s'il est installé ou pas (juste installer postgrsql et postgis) sous windows ( tt est guidé).
Alors comment je fai pour la déclarer comme bd postgis???
Hors ligne
#7 Wed 28 March 2007 10:01
- Ben_es
- Juste Inscrit !
- Lieu: Paris
- Date d'inscription: 27 Feb 2007
- Messages: 6
Re: Importation de données d'ArcView a Postgresql/Postgis
Bonjour,
si l'erreur vient de postgis vérifier que dans votre bdd il y a bien les fonctions géomètriques : "nom de votre bdd"/schémas/public/fonctions il doit y en avoir à peu près 1200 si postgis est installé (par exemple fonction addgeometrycolumn)
sinon il faut recréer une bdd avec pgAdminIII et surtout bien utiliser comme modéle : template_postgis
Cordialement
Benjamin
Hors ligne
#8 Wed 28 March 2007 12:48
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
Merci pour votre réponse vous avez raison ma base ne contient que 25 fonctions alors que les 2 bases pas défauts (postgis et template_postgis) contiennent 446 fonctions (mais pas 1200)?????
Sinon, j'ai déja éssayé ca mais quand je prend "template_postgis" comme modéle il m'affiche l'erreur suivante au moment de la création "ERROR : source database 'template_postgis' is being accessed by other users"...
Et bien sur donc je ne pourrai pas prendre "template_postgis" comme modéle.
Ca me bloque vraiment...
MERCI
Hors ligne
#9 Wed 28 March 2007 13:11
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
Merci vous m'avez vraiment aider mais je voulait présicer que j'arrive a le faire maintenant mais seulement sous DOS (au début il m'affichai la mme erreur et quand j'ai fermé le PGADMIN 3 ca a marché)...Je ne comprend pas alors pourquoi ca ne marche pas avec le pgADMIN 3???
Sinon si on veutimporter tous les shape se trouvant dans un dossier y'a pas un moyen de faire une sorte de boucle qui parcour le dossier et les importe un a un au lieu de taper la commnde 100 fois...
Hors ligne
#10 Wed 28 March 2007 14:29
- llby
- Participant occasionnel
- Date d'inscription: 14 Dec 2005
- Messages: 49
Re: Importation de données d'ArcView a Postgresql/Postgis
Il ne faut pas que la BDD template_postgis soit ouverte au moment de créer la nouvelle base de données qui prendra celle là comme exemple. Si template_postgis est ouverte sous pgAdmin( cad il n'y a pas la croix rouge dessus), ça ne marchera pas.
Le shp2pgsql crée un fichier sql qui contient le "script" de création de la table si on met l'option -c comme je l'avais dit précedemment.
Sinon ce que je fais pour créer un certain nombre de fichiers sql à partir des shp correspondants :
je crée un script vbs qui liste les fichiers shp dans le répertoire et crée la ligne de commande correspondante dans un .bat
puis j'exécute mon .bat qui me crée toutes les importations
Hors ligne
#11 Wed 28 March 2007 14:35
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
Merci pour votre réponses mais je ne voit toujours pas comment faire plusieurs importations ?
Vous n'avez pas un exemple de fichier en n'importe quel langages ce n'est pas un probléme c'est juste pour comprenre le principe.
Hors ligne
#12 Wed 28 March 2007 14:56
- llby
- Participant occasionnel
- Date d'inscription: 14 Dec 2005
- Messages: 49
Re: Importation de données d'ArcView a Postgresql/Postgis
Voilà le fichier que vous voulez.
Vous mettez tous vos fichiers géographiques dans le même répertoire.
Vous copiez le code ci-dessous dans un fichier liste.vbs
Vous changez vos paramètres, le nom du répertoire, le nom de la base de données.
Vous double-cliquez sur le fichier VBS.
Il vous crée un fichier import.bat dans lequel il ya toutes les lignes de commande d'importation pour tous les fichiers shp. Ca crée les tables du même nom que les fichiers.
Vous copiez le fichier import.bat dans le rép bin de postgresql et l'exécutez depuis la console ms dos.
Et voilà.
Code:
Option Explicit Dim fs Dim objNomDuFichier Dim f, f1, fc, s Dim strNomTable Dim strNomDuFichier Dim strNomBDD Dim strNomFolder Dim strNomSHP Dim strLigne strNomDuFichier = "import.bat" strNomBDD = "nom_bdd" strNomFolder = "D:\DONNEES GEOGRAPHIQUES\BASE FRANCE\SHP FILES\" Set fs = CreateObject("Scripting.FileSystemObject") Set objNomDuFichier = fs.CreateTextFile(strNomDuFichier, True) Set f = fs.GetFolder(strNomFolder) Set fc = f.Files For Each f1 in fc If Right(f1.Name,3) = "shp" Then strNomSHP = f1.Name strNomTable = Left(f1.Name, Len(f1.Name)-4) strLigne = "shp2pgsql -c """ & strNomFolder & strNomSHP & """ " & strNomTable & " " & strNomBDD & " | psql " & strNomBDD objNomDuFichier.WriteLine(strLigne) End If Next objNomDuFichier.Close Set fs = nothing msgbox "terminé"
Edit : attention à la formulation de vos demandes et à l'orthographe, c'est limite désagréable des fois ....
Dernière modification par llby (Wed 28 March 2007 15:29)
Hors ligne
#13 Wed 28 March 2007 15:56
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
Merci j'ai fai exactement ce que vous avez dit mais il m'affiche pour chaque fichier l'erreur suivante :
nomfich.shp: shape (.shp) or index files (.shx) ca not be opened.
Tout en sachant que pour chaque couche on dispose des fichiers suivants : *.SBN,*.SHP,*.SHX,*.dbf et *.SBX
En plus il me demande de saisir e mot de pase pour chaque fichiers donc pour une importations e 200 chapes il faut saisir 200 fois le mo de passe ???
Je ne comprend pas d'ou vient cette erreur pourant depuis tout a l'heure j'ai tout éssayé???
MERCI
Hors ligne
#14 Wed 28 March 2007 16:34
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
J'ai réglé cette erreur il fallait spécifié le chemin comlet des shapefiles j'ai changé aussi d'options, dc le code devient :
Code:
Option Explicit Dim fs Dim objNomDuFichier Dim f, f1, fc, s Dim strNomTable Dim strNomDuFichier Dim strNomBDD Dim strNomFolder Dim strNomSHP Dim strLigne strNomDuFichier = "import.bat" strNomBDD = "testgis" strNomFolder = "E:\shp\" Set fs = CreateObject("Scripting.FileSystemObject") Set objNomDuFichier = fs.CreateTextFile(strNomDuFichier, True) Set f = fs.GetFolder(strNomFolder) Set fc = f.Files For Each f1 in fc If Right(f1.Name,3) = "shp" Then strNomSHP = f1.Name strNomTable = Left(f1.Name, Len(f1.Name)-4) strLigne = "shp2pgsql -c " & strNomFolder & strNomSHP & " " & strNomTable & " " & strNomBDD & " | psql " & strNomBDD objNomDuFichier.WriteLine(strLigne) End If Next objNomDuFichier.Close Set fs = nothing msgbox "terminé"
Maintenant le probléme c'est au niveau du codage il ajoute certains fichiers et pour d'autre il m'affiche le message suivants :
ERROR: invalid byte sequence for encoding "UTF8": 0xe97279
Astuce: this error can also happen if the byte sequence does not match the encoding expected by the server, wich is controlled by "client-encoding".
ERROR : current transaction is aborted, commands ignored until end of transactions block
ROLLBACK
********************
Ben cette fois je ne voi pas comment on pourra réglé ca, je ne comprend pas l'erreur en fait???
MERCI
Hors ligne
#15 Fri 06 April 2007 15:26
Re: Importation de données d'ArcView a Postgresql/Postgis
Bonjour,
L'erreur provient du fait que l'encodage de vos fichiers ne sont pas en UTF8 alors que votre base l'est (ou inversement).
Finalement, cela est assez complexe à résoudre ...
Une piste peut être : vérifiez tout les encodages.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#16 Wed 11 April 2007 12:11
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
MERCI pour votre réponse mais apparement le probléme ne conserne ke les fichiers dont le nom contient "é" .
Le code marche donc bien a part que pour chaque fichier il me demande de taper le mot de passe de l'utilisateur postgres (dans l'invite commande) ce ki né pas intéressant car pour l'importation de 100 fichier on é obligé de tapé le mot de passe 100 fois de plus ca ne sera pas 100% automatique.
J'ai éssayé de modifier le code vb et aussi le fichier "import"...Toujours pas????
Merci encore
Hors ligne
#17 Wed 11 April 2007 12:37
Re: Importation de données d'ArcView a Postgresql/Postgis
Bonjour,
Merci d'éviter le langage SMS.
Concernant votre problème, le mieux est d'éviter d'utiliser des caractères spéciaux dans vos noms de fichiers ou de répertoire ($*éàè ...)
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#18 Wed 11 April 2007 15:16
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
Merci beaucoups et désolé pour le langage sms.
Hors ligne
#19 Thu 12 April 2007 16:43
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
Je ne sais pas si vous avez déja eu ce probléme mais le code marche bien : il parcour le dossier et importe les différents shapes, a part qu'il nous demander de taper le mot de passe (de l'utilisateur postgres) pour chaque shape.
Y'a t'il un moey d'éviter ca et de préciser le mot de passe au niveau du fichier (import) ou du code vb ou autre afin d'éviter de retaper le mot de passe 100 fois...
J'ai tout éssayé mais il me demande toujours le mot de passe a chaque fois.
Merciiii
Hors ligne
#20 Thu 12 April 2007 17:30
- llby
- Participant occasionnel
- Date d'inscription: 14 Dec 2005
- Messages: 49
Re: Importation de données d'ArcView a Postgresql/Postgis
Peut-être en lancant le fichier depuis l'utilisateur postgres ?
Personnellement, j'utilise ce script pour créer des fichiers SQL que j'importe ensuite dans la base soit un par un, soit en les concaténant tous d'un seul coup avec un autre script. Donc je n'ai pas ce problème.
Hors ligne
#21 Fri 13 April 2007 00:38
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
Je pense pas que ce soit ca le probléme car je me connecte en tant qu'utilisateur systéme postgres.
Mais il faut avoué que l'utilisateur systéme "postgres" et l'utilisateur de la BD "postgres" n'on pas le meme mot de passe.
Vous croyez que ca pourrai etre ca????
Mais surement au niveau des fichiers batch on peut faire des input (comme le mot de passe demandé)????
Hors ligne
#22 Mon 16 April 2007 14:23
- llby
- Participant occasionnel
- Date d'inscription: 14 Dec 2005
- Messages: 49
Re: Importation de données d'ArcView a Postgresql/Postgis
bah faut regarder dans les options de psql (psql --help) ou celles de shp2pgsql (shp2pgsql --help)
tu peux aussi chercher un peu non ?
Hors ligne
#23 Mon 16 April 2007 22:31
- kenza_sana
- Participant occasionnel
- Date d'inscription: 22 Feb 2007
- Messages: 24
Re: Importation de données d'ArcView a Postgresql/Postgis
Merci pour votre réponse j'ai bien cherché toutes les options je les ai étudié auune d'entre elle na prend ca en charge la plus part du tps ca conserne les données ou le façon de l'importation.
Ceci ne se trouve ni dans les options de shp2pgsl ni dans psql.
Merci quand meme .
Hors ligne
#24 Tue 17 April 2007 08:49
- Loïc Tapon
- Participant occasionnel
- Lieu: Haute-Savoie
- Date d'inscription: 15 Sep 2005
- Messages: 16
Re: Importation de données d'ArcView a Postgresql/Postgis
Bonjour,
j'ai eu le même probleme, il y a quelques mois...
il me demandais le mot de passe mais ne me laisser pas le temps de le taper.
J'ai donc contourner le problème par du shell dans un script Vbs (cela est un peu tordu mais bon)
Copier le code suivant :
Code:
'------------------------------------ ' Synthaxe de Shp2pgsql ' Importation d'un SHP dans une base Postgresql ' REMARQUE la table ne doit pas exister... et le nom de fichier ne doit pas contenir d'espace '------------------------------------ '____________ ' PARAMETRE '____________ ' nom du superutilisateur Attention il doit etre un utilisateur defini dans Windows username = "nom de votre user " " ' son mot de passe pass = "votre mot de passe" ' nom de la base de donnée postgresql nom_db_pg = "Nom de votre base" ' temp d'attente time_sleep = "1000" ' nom du dossier ou son les Shape strNomFolder = "le chemin complet de votre dossier" '____________ 'debut du script '____________ ' récupération du chemin ou est enregistrer le vbs varname = WScript.ScriptFullName new_name = Left(varname, len(varname)-4) numfichier = InStrRev(new_name,"\",-1,1) 'chemin temporaire chem_temp = Left(new_name, numfichier) & "temp\" Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(strNomFolder) Set fc = f.Files dim ext(3) For Each f1 in fc If Right(f1.Name,3) = "shp" Then nom_shp = strNomFolder & f1.Name '____________ ' copie les fichiers dans le dossier temp '____________ set fichier = CreateObject("Scripting.FileSystemObject") dim new_name new_name = Left(nom_shp, len(nom_shp)-4) numfichier = InStrRev(new_name,"\",-1,1) nom_shp = right(new_name, len(new_name)-numfichier) & ".shp" nom_tble_pg = right(new_name, len(new_name)-numfichier) ext(1) = ".shp" ext(2) = ".shx" ext(3) = ".dbf" for i = 1 to 3 ' Copie le fichier sur le serveur fichier.CopyFile new_name & ext(i) , chem_temp next '____________ 'Procedure d'importation shape '____________ set shell=wscript.createobject("Wscript.shell") 'Run runas.exe shell.run "runas.exe /user:" & username & " cmd" 'Attendre runas.exe pour charger, ce temps pourrait être plus court, mais est placé à 1000 pour être sûr wscript.sleep(time_sleep) ' envoi le mot de passe shell.sendkeys pass & "{ENTER}" wscript.sleep(time_sleep) shell.sendkeys "shp2pgsql -D -I " & chem_temp & nom_shp & " " & nom_tble_pg & " > " & chem_temp & "temp.sql" & "{ENTER}" wscript.sleep(time_sleep) shell.sendkeys "psql -d " & nom_db_pg & " -f " & chem_temp & "temp.sql" & "{ENTER}" wscript.sleep(time_sleep) 'Send the password and hit enter shell.sendkeys pass & "{ENTER}" wscript.sleep(time_sleep) 'supression des fichiers temporaires shell.sendkeys "del " & chem_temp & "*.*" & "/Q {ENTER}" wscript.sleep(time_sleep) shell.sendkeys "exit" & "{ENTER}" End If Next
Coller le dans un fichier txt que vous renommer en vbs, modifier les parametres (mot de passe, nom user ...)
dans le dossier ou vous avez creer le vbs creer un dossier que vous nommerez "temp"
puis lancez le script, et la normalement (du moins chez moi ) cela marche
Remarque importante : il faut que le dossier ou vous avez votre script vbs, l'utilisateur systeme "postgre" doit avoir les droits d'ecriture.
Ce code n'est pas idéal et n'est surment pas parfait, mais si certaines personnes veulent l'obtimiser, je suis tout à fait preneur .
Bonne journée
Loïc
Hors ligne
#25 Tue 04 March 2008 18:45
- geo_ben
- Juste Inscrit !
- Date d'inscription: 4 Mar 2008
- Messages: 3
Re: Importation de données d'ArcView a Postgresql/Postgis
Bonjour,
Bien que ce sujet soit inactif depuis quelques mois, j'ai également un problème d'encodage que je souhaiterai soumettre.
Voici la commande que j'éxécute :
Code:
shp2pgsql -dDI ./great_roads.shp great_roads |psql madatabase
Et voici le message d'erreur :
Code:
CREATE INDEX ERREUR: Séquence d'octets invalide pour le codage « UTF8 » : 0xe97279 HINT: Cette erreur peut aussi survenir si la séquence d'octets ne correspond pas au jeu de caractères attendu par le serveur, le jeu étant contrôlé par « client_encoding ». CONTEXT: COPY great_roads, ligne 1 ROLLBACK
Le code généré par shp2pgsql est :
Code:
SELECT DropGeometryColumn('','great_roads','the_geom'); DROP TABLE "great_roads"; BEGIN; CREATE TABLE "great_roads" (gid serial PRIMARY KEY, "id" int8, "data" varchar(24)); SELECT AddGeometryColumn('','great_roads','the_geom','-1','MULTILINESTRING',2); CREATE INDEX "great_roads_the_geom_gist" ON "great_roads" using gist ("the_geom" gist_geometry_ops); COPY "great_roads" ("id","data",the_geom) FROM stdin; 1 Rue Paul Valéry 010500000001000000010200000004000000000000000000F03F000000000000F03F000000000000344000000000000037400000000000004E40000000000000394000000000004055400000000000004240 2 Rue du Général de Gaulle 010500000001000000010200000002000000000000000000F03F0000000000E055400000000000C062400000000000E05540 3 Rue Aristide Briand 0105000000010000000102000000020000000000000000405540000000000000F03F00000000004055400000000000E06040 \. END;
Je note que si je retire les accents et que je recharge ensuite ce code, l'opération réussi.
Pour information, je suis sous Linux et le shp fût probablement généré sous windows.
Si quelqu'un connait l'origine de ce problème ou un moyen de le contourner, j'accepte avec grand plaisir son aide !
Benoit
Hors ligne
#26 Tue 04 March 2008 18:59
- geo_ben
- Juste Inscrit !
- Date d'inscription: 4 Mar 2008
- Messages: 3
Re: Importation de données d'ArcView a Postgresql/Postgis
Re bonsoir,
J'ai résolu mon problème grâce à un autre forum.
Voici la solution pour qu'elle puisse servir à d'autres :
Code:
shp2pgsql -dDI ./great_roads.shp great_roads|iconv -f LATIN1 -t UTF-8 |psql madatabase
Merci et désolé du dérangement
Benoit
Hors ligne
#27 Tue 04 March 2008 19:12
Re: Importation de données d'ArcView a Postgresql/Postgis
Bonjour,
Dommage, je n'ai pas vu passer votre message, il y a quand même plus simple : lire l'aide des commandes que vous utilisez :
Code:
debian@helios:~$ shp2pgsql --help shp2pgsql: illegal option -- - RCSID: $Id: shp2pgsql.c 2513 2006-10-14 14:22:10Z mschaber $ RELEASE: 1.1.6 USAGE: shp2pgsql [<options>] <shapefile> [<schema>.]<table> OPTIONS: -s <srid> Set the SRID field. If not specified it defaults to -1. (-d|a|c|p) These are mutually exclusive options: -d Drops the table, then recreates it and populates it with current shape file data. -a Appends shape file into current table, must be exactly the same table schema. -c Creates a new table and populates it, this is the default if you do not specify any options. -p Prepare mode, only creates the table. -g <geometry_column> Specify the name of the geometry column (mostly useful in append mode). -D Use postgresql dump format (defaults to sql insert statments. -k Keep postgresql identifiers case. -i Use int4 type for all integer dbf fields. -I Create a GiST index on the geometry column. -S Generate simple geometries instead of MULTI geometries. -w Use wkt format (for postgis-0.x support - drops M - drifts coordinates). [b]-W <encoding> Specify the character encoding of Shape's attribute column. (default : "ASCII")[/b] -N <policy> Specify NULL geometries handling policy (insert,skip,abort) -? Display this help screen
shp2pgsql -W latin1 -dDI ./great_roads.shp great_roads | psql madatabase
Ou bien créer une base en latin1 :
Code:
createdb mabase -E latin1
Enfin initialiser la variable encoding de pgsql :
Code:
psql -v ENCODING=utf8 ou latin1
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#28 Tue 04 March 2008 21:46
- geo_ben
- Juste Inscrit !
- Date d'inscription: 4 Mar 2008
- Messages: 3
Re: Importation de données d'ArcView a Postgresql/Postgis
J'avais essayé l'option -W en lui passant un mauvais argument (latin-1 au lieu de latin1). Meaculpa.
Merci quand même du renseignement.
Cordialement,
Benoit Delaup
Hors ligne