[mapserver-users] Calculate length!
Schylberg Lars
lars.schylberg at saabgroup.com
Fri Mar 13 04:49:03 PDT 2015
Hi Jukka,
That is right and that is why I wrote about conversion to spatialite.
Next questions is when it gets interesting.
How can I get Mapserver to understand that it is sqlite dialect in the DATA statement?
If this would be the case:
CONNECTIONTYPE OGR
CONNECTION "doc_test.kml"
DATA "select st_length(geometry) from line_demo limit 5"
As far as I understand it defaults to regular OGR sql.
I was looking for an answer a couple of months ago but didn’t find any solution.
Somewhere I have seen that pszDialect can be set to "SQLITE".
But can that be done in the mapfile?
I have also seen in old message from You about a undocumented workaround with VRT
Is that the solution?
I have a similar issue myself where I would like work against another OGR format but with sqlite syntax.
/Lars
From: Rahkonen Jukka (MML) [mailto:jukka.rahkonen at maanmittauslaitos.fi]
Sent: den 13 mars 2015 10:58
To: Schylberg Lars; mapserver-users at lists.osgeo.org
Subject: Re: [mapserver-users] Calculate length!
Hi Lars,
You should not underestimate GDAL. Read http://www.gdal.org/ogr_sql_sqlite.html and look at this:
ogrinfo -dialect sqlite -sql "select st_length(geometry) from line_demo limit 5" line_demo.shp
INFO: Open of `line_demo.shp'
using driver `ESRI Shapefile' successful.
Layer name: SELECT
Geometry: None
Feature Count: 10
Layer SRS WKT:
(unknown)
st_length(geometry): Real (0.0)
OGRFeature(SELECT):0
st_length(geometry) (Real) = 638.237633730745
OGRFeature(SELECT):1
st_length(geometry) (Real) = 32.7179011265525
OGRFeature(SELECT):2
st_length(geometry) (Real) = 4399.43983906202
OGRFeature(SELECT):3
st_length(geometry) (Real) = 480.395511976145
OGRFeature(SELECT):4
st_length(geometry) (Real) = 311.309421824364
-Jukka Rahkonen-
Schylberg Lars wrote:
As far as I know there is no length function in Mapserver.
The only geometry function to use in Expressions is area(shape).
OGR sql doesn’t provide that either as far as I can see in the documentation.
So the solutions might be to convert your KML data to sqlite or postgis where such functions are available.
The length of a string (number of characters in the string) can be found in OGR sql with the length function,
but I am assuming You are looking for the geometric length of the linestring.
/Lars
From: mapserver-users-bounces at lists.osgeo.org<mailto:mapserver-users-bounces at lists.osgeo.org> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of alok mathur
Sent: den 13 mars 2015 07:01
To: mapserver-users at lists.osgeo.org<mailto:mapserver-users at lists.osgeo.org>
Subject: [mapserver-users] Calculate length!
Hi,
I want to calculate the length in mapserver. Is it possible. Means i have a linestring and i want to know the length for it.
Also not could be suggest me how to do it.
I am using data source to mapserver as KML.
Thanks!
--
Alok Mathur
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20150313/02d22849/attachment.htm>
More information about the MapServer-users
mailing list