[Shapelib] Adding new shape to shapefile

Christian Kirchhoff ckirchho at directmedia.de
Thu Jun 5 02:18:12 PDT 2008


Hello once more, Romain,

the documentation is here:
http://shapelib.maptools.org/shp_api.html

Best regards,

Christian
*Directmedia Publishing GmbH* · Möckernstraße 68 · 10965 Berlin
www.digitale-bibliothek.de
AG Berlin-Charlottenburg · HR B 58002 · USt.Id. DE173211737
Geschäftsführer: Ralf Szymanski · Erwin Jurschitza


thecrashteam schrieb:
> Thank you for your help Bram, it is very nice !
> So, I did a list of return values of functions used in my code :
> DBFCreate returns 375328,
> SHPCreate = 379776,
> DBFAddField = 0,
> DBFWriteStringAttribute = 1,
> SHPCreateSimpleObject = 410704,
> SHPWriteObject = 0.
>
> I hope you could tell me what these figures mean... And do you know where
> could I find documentation about shapelib ?
>
> Thank you again for your help
>
> Romain.
>
>
>
> Bram de Greve wrote:
>   
>> The extension has nothing to do with it.  At worst, it would create 
>> something like test.shp.shp.
>>
>> As no files AT ALL are created, the problem probably is within DBFCreate 
>> and SHPCreate, as they should create file files straight away, even 
>> without the data being added.  Please, check the return values of 
>> DBFCreate and SHPCreate.   Are they null?  Probably they are, and that 
>> means the creation of the files simply fail.  And thus everything else 
>> fails too.
>>
>> Try a more simple filename like just "test".
>>
>> Are you prepared to step through the code in a debug session.  Maybe you 
>> can figure out what exactly fails ...
>>
>> Good luck =)
>> Bram
>>
>> thecrashteam schreef:
>>     
>>> Hi  Vassilis,
>>>
>>>
>>> I tried what you told me too, but it still not work. No error, but no
>>> files... It's hopeless !! ^^
>>> I think there is something wrong against me with this library !!!
>>>
>>> Thank you for your reply !
>>>
>>> Romain
>>>
>>> My code : 
>>>
>>> //création du dbf
>>> IntPtr ptrDBFCreate = shpFile.DBFCreate(@"\SD-MMCard\TestParcelle\test");
>>>
>>> //création du shapefile
>>> IntPtr ptrSHPCreate = shpFile.SHPCreate(@"\SD-MMCard\TestParcelle\test",
>>> ShapeFile.ShapeFile.ShapeType.Point);
>>>
>>> //nouvelle colonne dans le dbf
>>> shpFile.DBFAddField(ptrDBFCreate, @"\SD-MMCard\TestParcelle\test",
>>> ShapeFile.ShapeFile.DBFFieldType.FTString, 255, 0);
>>>
>>> //écriture de la valeur liée au futur shape
>>> shpFile.DBFWriteStringAttribute(ptrDBFCreate,
>>> shpFile.DBFGetRecordCount(ptrDBFCreate), 0, "to");
>>>
>>> //création du point
>>> 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);
>>>
>>> //écriture du point dans le shape
>>> shpFile.SHPWriteObject(ptrSHPCreate, -1, psObject);
>>>
>>> //fermeture du dbf et du shapefile
>>> shpFile.SHPClose(ptrSHPCreate);
>>> shpFile.DBFClose(ptrDBFCreate);
>>>   
>>>       
>> _______________________________________________
>> Shapelib mailing list
>> Shapelib at lists.maptools.org
>> http://lists.maptools.org/mailman/listinfo/shapelib
>>
>>
>>     
>
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/shapelib/attachments/20080605/f6bb05d9/attachment.html>


More information about the Shapelib mailing list