[mapserver-users] OGR data layer type - points and lines

Ian Walberg ian.walberg at airborne.aero
Wed Dec 22 12:04:27 PST 2010


David,

Many thanks, we will try this over the next few days.

Regards

Ian

-----Original Message-----
From: Fawcett, David (MPCA) [mailto:David.Fawcett at state.mn.us] 
Sent: Monday, December 20, 2010 1:18 PM
To: Fawcett, David (MPCA); Ian Walberg
Cc: mapserver-users at lists.osgeo.org
Subject: RE: [mapserver-users] OGR data layer type - points and lines

It took 4 whole days, but thanks to Sandro, Spatialite now has a
MakeLine() function.

http://groups.google.com/group/spatialite-users/browse_thread/thread/20f
8e907ae9226

The feature is in SVN, I am not sure if it will make it into the pending
2.4.0 release.  I am also not sure how the OGR driver works and if it
can accept geometries created on-the-fly, or if they need to come from a
geometry column.

David.

-----Original Message-----
From: Fawcett, David (MPCA) 
Sent: Friday, December 17, 2010 10:23 AM
To: 'Stephen Woodbridge'; Ian Walberg
Cc: mapserver-users at lists.osgeo.org
Subject: RE: [mapserver-users] OGR data layer type - points and lines

Ian, 

I thought that there was a pretty simple answer to this, but it seems as
though I have imagined some non-existing functionality.

Assuming that you have a Spatialite db containing a point data set, and
you have a MapServer layer that draws this, I think that I have a
solution for you.  (This also assumes that OGR supports reading
linestrings from Spatialite).

PostGIS has the ST_MakeLine() function that allows you to create
linestrings out of point geometries.  The current version of Spatialite
doesn't have anything like this (although since I have mentioned it on
the Spatialite list, it could be there soon...)



So, this SQL employs some workarounds, but may work:

SELECT LineFromText('LINESTRING(' || group_concat(X(geometry) || ' ' ||
Y(geometry), ',') || ')') FROM datapoints ORDER BY fix_date;

If performance is a problem, I would build a Spatialite line dataset and
rebuild it every time your point dataset changes.    

David.




More information about the MapServer-users mailing list