<br><font size=2 face="sans-serif">As I don't get any answers, I think you may need more information on my problem ;-) :</font>
<br>
<br><font size=2 face="sans-serif">I'd like to get the X coordinate for a each point of a linestring :</font>
<br>
<br><font size=2 face="sans-serif">Here is a part of my code :</font>
<br>
<br><font size=2 face="sans-serif"> geom = (GEOMETRY *)PG_DETOAST_DATUM(datum);</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> offsets = (int32 *) ( ((char *) &(geom->objType[0] ))+ sizeof(int32) * geom->nobjs ) ;</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> for (k=0; k< geom->nobjs; k++) </font>
<br><font size=2 face="sans-serif"> {</font>
<br><font size=2 face="sans-serif"> o = (char *) geom + offsets[k] ;</font>
<br><font size=2 face="sans-serif"> type = geom->objType[k];</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> if (type == LINETYPE)</font>
<br><font size=2 face="sans-serif"> {</font>
<br><font size=2 face="sans-serif"> line = (LINE3D *)o;</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> for(l=0;l<coord.NbCoord;l++){</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> point.x = DatumGetFloat8(x_point((GEOMETRY *) make_oneobj_geometry(sizeof(POINT3D),</font>
<br><font size=2 face="sans-serif"> (char *)&line->points[k+1],</font>
<br><font size=2 face="sans-serif"> POINTTYPE, </font>
<br><font size=2 face="sans-serif"> geom->is3d, </font>
<br><font size=2 face="sans-serif"> geom->SRID, </font>
<br><font size=2 face="sans-serif"> geom->scale, </font>
<br><font size=2 face="sans-serif"> geom->offsetX, </font>
<br><font size=2 face="sans-serif"> geom->offsetY)));</font>
<br><font size=2 face="sans-serif"> }</font>
<br><font size=2 face="sans-serif"> }</font>
<br><font size=2 face="sans-serif"> }</font>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">Here is how I compile my code :</font>
<br>
<br><font size=2 face="sans-serif">gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes -Wmissing-declarations -I/usr/src/postgresql-7.4.1-3/src/include -c -o MyFunc.o MyFunc.c</font>
<br><font size=2 face="sans-serif">dlltool --export-all --output-def MyFunc.def MyFunc.o</font>
<br><font size=2 face="sans-serif">dllwrap -o gdf2ToGdf1.dll --dllname MyFunc.dll \</font>
<br><font size=2 face="sans-serif">--def MyFunc.def MyFunc.o \</font>
<br><font size=2 face="sans-serif">/usr/src/postgresql-7.4.1-3/src/utils/dllinit.o \</font>
<br><font size=2 face="sans-serif">-L/usr/src/postgresql-7.4.1-3/contrib/postgis-0.8.1/ -lpostgis \</font>
<br><font size=2 face="sans-serif">-L/usr/src/postgresql-7.4.1-3/src/backend -lpostgres \</font>
<br>
<br><font size=2 face="sans-serif">Here is how I create the function :</font>
<br>
<br><font size=2 face="sans-serif">CREATE FUNCTION MyFunc() RETURNS integer</font>
<br><font size=2 face="sans-serif"> AS '/home/bsimon/functions/MyFunc'</font>
<br><font size=2 face="sans-serif"> LANGUAGE 'c';</font>
<br>
<br><font size=2 face="sans-serif">Here is the error I get :</font>
<br>
<br><font size=2 face="sans-serif">ERROR: could not load library "/home/bsimon/functions/MyFunc.dll": dlopen: Win32 error 126 </font>
<br>
<br>
<br><font size=2 face="sans-serif">I hope this could help !!!</font>
<br><font size=2 face="sans-serif">Thanks.</font>
<br><font size=2 face="sans-serif">B.S.</font>
<br>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td>
<td><font size=1 face="sans-serif"><b>bsimon@loxane.com</b></font>
<br><font size=1 face="sans-serif">Envoyé par : postgis-users-bounces@postgis.refractions.net</font>
<p><font size=1 face="sans-serif">25/02/2004 11:45</font>
<br><font size=1 face="sans-serif">Veuillez répondre à PostGIS Users Discussion</font>
<br>
<td><font size=1 face="Arial"> </font>
<br><font size=1 face="sans-serif"> Pour : postgis-users@postgis.refractions.net</font>
<br><font size=1 face="sans-serif"> cc : </font>
<br><font size=1 face="sans-serif"> Objet : [postgis-users] Creating a C spi function that calls Postgis functions</font></table>
<br>
<br>
<br><font size=2 face="sans-serif"><br>
Hi,</font><font size=3 face="Times New Roman"> <br>
</font><font size=2 face="sans-serif"><br>
I 've written a C spi function that connects to a base, retrieves some geometries and does some proccessing on them. Everything is Ok so far.</font><font size=3 face="Times New Roman"> </font><font size=2 face="sans-serif"><br>
The problem occurs when in my processing algorithm I try to use some Postgis functions (such as "x_point" or "make_oneobj_geometry"). I manage to link my code with postgis export library but I can't figure out why my CREATE FUNCTION statement fails !</font><font size=3 face="Times New Roman"> <br>
</font><font size=2 face="sans-serif"><br>
here is the error I get when I try to create the function :</font><font size=3 face="Times New Roman"> <br>
</font><font size=2 face="sans-serif"><br>
ERROR: could not load library "/home/bsimon/functions/MyFunc.dll": dlopen: Win32 error 126 (I use cygwin)</font><font size=3 face="Times New Roman"> <br>
</font><font size=2 face="sans-serif"><br>
Any ideas ??</font><font size=3 face="Times New Roman"> <br>
</font><font size=2 face="sans-serif"><br>
B.S</font><font size=3 face="Times New Roman"> <br>
</font><font size=2 face="Courier New">_______________________________________________<br>
postgis-users mailing list<br>
postgis-users@postgis.refractions.net<br>
http://postgis.refractions.net/mailman/listinfo/postgis-users<br>
</font>
<br>
<br>