Defining a line from SQL server using OGR

James Perrins JamesP at ESDM.CO.UK
Thu Mar 30 12:12:09 EST 2006


Hi,

 

I've just been playing with this.

 

As Frank says - if your Lat/Long fields are single/double then you need
something like:

 

 

  '<OGRVRTDataSource>

       <OGRVRTLayer name="TestPoint">

        <SrcDataSource>ODBC:WKT,TestPoint</SrcDataSource> 

        <SrcSQL>SELECT X,Y FROM TestPoint WHERE KeyName=2</SrcSQL>

        <GeometryType>wkbPoint</GeometryType> 

        <GeometryField encoding="PointFromColumns" x="X" y="Y"/> 

      </OGRVRTLayer>

  </OGRVRTDataSource>'

 

Note wkbPoint not wkbLine

 

If you can convert your GPS readings into a WKT string and store this in
a text field in your table - such as:

POLYGON (( 100000 100000, 200000 500000,500000 500000,500000 200000,
100000 100000))

 

Then something like:

'<OGRVRTDataSource>

       <OGRVRTLayer name="TestPolygon">

        <SrcDataSource>ODBC:WKT,TestPolygon</SrcDataSource> 

        <SrcSQL>SELECT * FROM TestPolygon WHERE KeyField=1</SrcSQL>

        <SrcLayer>TestPolygon</SrcLayer> 

        <GeometryType>wkbPolygon</GeometryType> 

        <GeometryField encoding="WKT" field="GEOMETRY"/>

      </OGRVRTLayer>

  </OGRVRTDataSource>'

 

Should work.

 

Best wishes

James

  _____  

From: Chip Taylor [mailto:work at XWB.COM] 
Sent: 30 March 2006 16:00
To: MAPSERVER-USERS at LISTS.UMN.EDU
Subject: [UMN_MAPSERVER-USERS] Defining a line from SQL server using OGR

 

I am retrieving a set of point from SQL Server using OGR.  If I declare
the layer type to be "Point" then it works fine.  However, I want the
series of XY coordinates to define a line.  If I declare the layer type
"Line" nothing renders.  Any help would be appreciated.  Here is the
layer code defined as a line (there are two xy points in the database):

 

##################################### 

# Tracking

#

LAYER

  NAME GPSLayer1

  TYPE Point

  CONNECTIONTYPE OGR

  CONNECTION 

  

 '<OGRVRTDataSource>

       <OGRVRTLayer name="GPSData">

        <SrcDataSource>ODBC:myUser/myPwd at myDSN</SrcDataSource> 

       <SrcSQL>EXEC pGetTracking</SrcSQL>

       <GeometryType>wkbLineString</GeometryType>

        <GeometryField encoding="PointFromColumns" x="gpsLongitude"
y="gpsLatitude"/> 

      </OGRVRTLayer>

  </OGRVRTDataSource>'

 

  DATA "GPSData"

  CLASSITEM "gpsDeviceId"

  STATUS off

  CLASS

          EXPRESSION /Device1/

          STYLE

                 COLOR 90 0 255

                 OUTLINECOLOR 0 255 0 

                 SYMBOL 'BigLine' 

                 SIZE 40 

          END

  END

  

 END

 

########### End of Tracking Layer ###############

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20060330/4297f25c/attachment.html


More information about the mapserver-users mailing list