Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#1 Fri 30 May 2008 11:07

Romain21
Juste Inscrit !
Date d'inscription: 30 May 2008
Messages: 1

[shapelib] Ajouter un shape

Bonjour à tous,

Je suis stagiaire en 1ère année d'ecole d'ingénieur informatique et mon projet consiste à développer une application pour pocket PC (Windows CE 5.0 et +) permettant l'édition de fichier shape. J'utilise la librairie Shapelib.
Mon problème est que je me sers correctement des fonctions pour écrire dans un fichier shape (enfin je pense ^^), mon code ne génère aucune erreur, mais rien n'est fait.
D'après mon code, à la fin du post, j'essaie d'ajouter un shape à un shapefile existant, mais ça ne marche pas... Les données envoyées au dbf sont du bon type pour chaque colonne, le shapefile est bien du type "Point". Mais lorsque je compte le nombre de figure à la fin de cette opération, le nombre reste inchangé...

Merci d'avance

Romain

Code:

IntPtr ptrOpenSHP = shpFile.SHPOpen(@"\SD-MMCard\TestParcelle\ARRETBUS.shp", "rb+");
IntPtr ptrOpenDBF = shpFile.DBFOpen(@"\SD-MMCard\TestParcelle\ARRETBUS.dbf", "rb+");
double[] x = new double[1];
double[] y = new double[1];
double[] z = new double[1];
x[0] = 803606;
y[0] = 803606;
z[0] = 0;
IntPtr psObject = shpFile.SHPCreateSimpleObject(ShapeFile.ShapeFile.ShapeType.Point, 1, x, y, z);

 shpFile.SHPWriteObject(ptrOpenSHP, -1, psObject);
shpFile.SHPDestroyObject(psObject);

shpFile.DBFWriteDoubleAttribute(ptrOpenDBF, -1, 0, 0d);
shpFile.DBFWriteStringAttribute(ptrOpenDBF, -1, 1, "toto");
shpFile.DBFWriteStringAttribute(ptrOpenDBF, -1, 2, "aime");
shpFile.DBFWriteStringAttribute(ptrOpenDBF, -1, 3, "les");
shpFile.DBFWriteStringAttribute(ptrOpenDBF, -1, 4, "fraises");

shpFile.DBFClose(ptrOpenDBF);
shpFile.SHPClose(ptrOpenSHP);

Hors ligne

 

Pied de page des forums

Powered by FluxBB