[Mapserver-DE] Shapefile C Library

Frank Koormann frank.koormann at intevation.de
Mit Mar 10 10:12:12 CET 2004


Hallo Herr Hagedorn,

* Thies Hagedorn <t.hagedorn at vivawasser.de> [040309 12:17]:
> Hallo,
> 
> kennt sich jemand mit der Shapefile C Library aus?
> 
> Ich habe ein Problem mit SHPGetInfo(). 
> 
> Das öffnen des Shapefile mit SHPOpen funktioniert soweit. Jetzt wollte
> ich prüfen was für ein Shapefile (Point, Multipoint usw...) das ist. Was
> genau muss ich bei der Funktion angeben damit ich diese Information
> bekomme? Wenn ich die Funktion wie folgt aufrufe:
> 
> SHPOpen(shapehandle, 0, 0, 0, 0)

Wenn der Aufruf SHPGetInfo(shapehandle, 0, 0, 0, 0) lautet
sollten Sie eigentlich gar nichts zurückbekommen.

Laut dem Paket beiliegender Doku 
(oder http://shapelib.maptools.org/shp_api.html)
müssen Adressen von Integer-Variablen bzw. Double-Vektoren übergeben
werden:

void SHPGetInfo( SHPHandle hSHP, int * pnEntities, int * pnShapeType,
                 double * padfMinBound, double * padfMaxBound );

Also etwa (aus shputils.c zusammenkopiert):
int             nShapeTypeAppend, nEntitiesAppend;
double          adfBoundsMin[4], adfBoundsMax[4];
SHPGetInfo( hSHPappend, &nEntitiesAppend, &nShapeTypeAppend,
                adfBoundsMin, adfBoundsMax );

Beste Grüße,

        Frank Koormann

-- 
Frank Koormann                             <frank.koormann at intevation.de>
 Professional Service around Free Software       (http://intevation.net/)
 FreeGIS Project                                 (http://freegis.org/)




This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)