Hi all,

I'm using MS4W 1.5.5 on WinXP SP2 (mapserver 4.8.4, PHP 4.4.3, php_mapscript_48.dll, GDAL to 1.3.2). I'm trying to connect to a SQL server 2000 through an OGR Virtual Format driver to obtain X,Y coordinates plus other ancillary data from a View that I defined in the database. The data base is updated constantly with new coordinates, so the number of rows can change, actually there are about 20 points.

The syntax of my .OVF file is:

<OGRVRTDataSource>
   <OGRVRTLayer name="puntos">
       <SrcDataSource>ODBC:mi_usuario/[EMAIL 
PROTECTED],mi_vista_de_la_bd</SrcDataSource>
       <SrcLayer>mi_vista_de_la_bd</SrcLayer>
       <!--  <FID>Poul_id</FID>  -->
       <GeometryType>wkbPoint</GeometryType>
       <LayerSRS>WGS84</LayerSRS>
       <!--  <LayerSRS>EPSG:4326</LayerSRS>  -->
<GeometryField encoding="PointFromColumns" x="Poul_longitud" y="Poul_latitud"/>
   </OGRVRTLayer>
</OGRVRTDataSource>

I´ve tested with OGRINFO and the result is something like the following:

Layer name: puntos
OGRFeature(puntos):0
 Vehi_textid (String) = 276 33
 Poul_id (Integer) = 73
 Poul_vehi_id (Integer) = 9
 Poul_latitud (Real) = -34
 Poul_longitud (Real) = -58
 Poul_velocidad (Real) = 0
 Poul_sentido (String) = 0
 Poul_posi_fecha (String) = 31/01/2007 12:18:46
 POINT (-58 -34 0)

OGRFeature(puntos):1
 Vehi_textid (String) = 276 58
 Poul_id (Integer) = 63
 Poul_vehi_id (Integer) = 9
 Poul_latitud (Real) = -34
 Poul_longitud (Real) = -58
 Poul_velocidad (Real) = 0
 Poul_sentido (String) = 0
 Poul_posi_fecha (String) = 05/02/2007 17:44:02
 POINT (-58 -34 0)
...
...
...
...
OGRFeature(puntos):19
 Vehi_textid (String) = 276 59
 Poul_id (Integer) = 64
 Poul_vehi_id (Integer) = 9
 Poul_latitud (Real) = -34
 Poul_longitud (Real) = -58
 Poul_velocidad (Real) = 12
 Poul_sentido (String) = 170
 Poul_posi_fecha (String) = 05/02/2007 22:09:35
 POINT (-58 -34 0)


As you can see, the connection retrieves the 20 points, but there is a problem with the X/Y (lat/lon) values: they are rounded to the integer part, in spite of being defined as real in the database. For example, for the last point (#19) I get:
xcoord = -58
ycoord = -34
when the actual value is:
x = -58.904272
y = -34.447837

As a result of this, when I test the mapfile with SHP2IMG all 20 points are in the same place (all with the same coordinate values; e.g. x,y = -58,-34)

I am making some mistake?
My syntax is correct?
Is there someone to give me a hand on this problem?

Thanks in advance,

Gaston.

Reply via email to