[mapserver-users] Angle Follow will accept only simple linestring don't MultiLinestring ?
thomas bonfort
thomas.bonfort at gmail.com
Wed Aug 14 02:20:54 PDT 2013
Andrea,
- what GEOS version do you have installed ?
- please open a ticket for this. If you want me to look into it,
please prepare a self-contained test case (including a spatialite db
and mapfile) and mail it to me or link to it from the ticket.
--
thomas
On 14 August 2013 11:17, Andrea Peri <aperi2007 at gmail.com> wrote:
> It work without trigger any error.
>
> This is the layer I use:
>
> LAYER
> NAME "multiline"
> TYPE LINE
> STATUS OFF
> EXTENT 1660351.00 4458445.22 1866743.13 4960849.91
> FEATURE
> WKT "MULTILINESTRING((1662120.546188 4858603.677291, 1662738.746295
> 4858875.082216, 1663854.522097 4858618.755342, 1664779.309249 4858638.85941,
> 1665116.052396 4858342.3244, 1665136.156465 4858035.737355),(1660351.388159
> 4859814.947419, 1661959.71364 4857844.748704, 1663678.611497 4857724.124293,
> 1663869.600148 4858136.257698, 1664392.30593 4858085.997526, 1664703.918992
> 4857452.719368, 1668141.714707 4857613.551916),(1662112.755029
> 4859495.405004, 1662172.424828 4859710.216279, 1662357.401204
> 4859984.697353, 1662411.104022 4860175.640708, 1662345.467244
> 4860318.848225, 1662172.424828 4860473.989701, 1662178.391808
> 4860670.900037, 1662321.599324 4860796.206614, 1662619.948317
> 4860849.909432, 1662888.462411 4860837.975473, 1663174.877444
> 4860611.230238, 1663222.613283 4860384.485003, 1663145.042545
> 4860247.244467, 1662977.967109 4860056.301111, 1662769.122814
> 4859841.489836, 1662709.453015 4859680.38138, 1662810.891673 4859435.735206,
> 1663091.339726 4859250.75883, 1663371.78778 4859137.386213, 1663813.344289
> 4859143.353192, 1663992.353685 4859256.72581, 1664093.792343 4859513.305944,
> 1664028.155564 4859829.555876, 1663765.60845 4860038.400171, 1663664.169793
> 4860193.541648, 1663652.235833 4860390.451983, 1663771.57543 4860545.593459,
> 1664081.858383 4860599.296278, 1664410.042275 4860581.395339, 1664779.995027
> 4860402.385943, 1664988.839322 4860133.871849, 1665078.34402 4859919.060574,
> 1665114.145899 4859644.579501, 1665114.145899 4859423.801246, 1665132.046838
> 4859214.956951, 1664947.070463 4859077.716414, 1664947.070463
> 4858862.905139, 1665263.320395 4858725.664602, 1665615.372207
> 4858731.631582, 1665764.546703 4858916.607958, 1665830.183482
> 4859214.956951, 1665824.216502 4859567.008762, 1665728.744824
> 4859925.027554, 1665639.240126 4860223.376547, 1665633.273147 4860503.8246,
> 1665716.810865 4860670.900037, 1665961.457039 4860760.404734, 1666253.839052
> 4860760.404734, 1666492.518246 4860617.197218, 1666659.593682
> 4860408.352923, 1666743.1314 4860098.06997, 1666713.296501 4859811.654937,
> 1666635.725763 4859638.612521, 1666474.617307 4859519.272924, 1666295.607911
> 4859465.570105, 1666229.971132 4859435.735206, 1665979.357978 4859262.69279,
> 1666009.192878 4859065.782454, 1666301.574891 4858886.773058, 1666546.221065
> 4858862.905139, 1666623.791803 4858707.763663, 1666576.055964
> 4858516.820307, 1666176.268314 4858445.216549))"
>
> END #FEATURE
> LABELCACHE on
> CLASS
> STYLE
> COLOR 200 200 200
> OUTLINECOLOR 0 255 0
> END
> LABEL
> TEXT 'BLAH BLAH'
> COLOR 0 85 255
> OUTLINECOLOR 212 255 255
> OUTLINEWIDTH 1
> FONT "LiberationSans-Regular"
> TYPE truetype
> SIZE 9
> ANGLE FOLLOW
> OFFSET 15 99
> POSITION auto
> PRIORITY 10
> MAXOVERLAPANGLE 180.0
> BUFFER 1
> FORCE OFF
> PARTIALS FALSE
> MINDISTANCE 200
> END
> END #CLASS
> END
>
>
>
>
>
> 2013/8/14 thomas bonfort <thomas.bonfort at gmail.com>
>>
>> what happens if you use an inline wkt feature of type MULTILINESTRING ?
>>
>> On 14 August 2013 10:47, Andrea Peri <aperi2007 at gmail.com> wrote:
>> > Hi,
>> >
>> > I do other tests.
>> >
>> > Using instead of a spatialite, a shapefile.
>> > And accessing it using ogr or using ogr driver.
>> >
>> > I see the error trigger when use spatialite or shapefile accessed using
>> > the
>> > OGR driver.
>> >
>> > Instead it don't trigger when use a directly defined Feature or the
>> > mapserver direct shapefile driver.
>> >
>> > Regards,
>> >
>> > Andrea.
>> >
>> >
>> >
>> > 2013/8/14 Andrea Peri <aperi2007 at gmail.com>
>> >>
>> >> Yes.
>> >>
>> >> Is the OFFSET !
>> >>
>> >> Yes Thomas when I remove the offset the angle follow will work without
>> >> error.
>> >>
>> >> I have other informations:
>> >>
>> >> he error trigger on spatialite but don't in a simpe FEATURE text
>> >> definet
>> >> dataset.
>> >> Infact with this dataset:
>> >>
>> >> LAYER
>> >> NAME "line"
>> >> TYPE LINE
>> >> STATUS DEFAULT
>> >> EXTENT 1662112.76 4858445.22 1666743.13 4860849.91
>> >> FEATURE
>> >> WKT "LINESTRING(1662112.755029 4859495.405004, 1662172.424828
>> >> 4859710.216279, 1662357.401204 4859984.697353, 1662411.104022
>> >> 4860175.640708, 1662345.467244 4860318.848225, 1662172.424828
>> >> 4860473.989701, 1662178.391808 4860670.900037, 1662321.599324
>> >> 4860796.206614, 1662619.948317 4860849.909432, 1662888.462411
>> >> 4860837.975473, 1663174.877444 4860611.230238, 1663222.613283
>> >> 4860384.485003, 1663145.042545 4860247.244467, 1662977.967109
>> >> 4860056.301111, 1662769.122814 4859841.489836, 1662709.453015
>> >> 4859680.38138,
>> >> 1662810.891673 4859435.735206, 1663091.339726 4859250.75883,
>> >> 1663371.78778
>> >> 4859137.386213, 1663813.344289 4859143.353192, 1663992.353685
>> >> 4859256.72581,
>> >> 1664093.792343 4859513.305944, 1664028.155564 4859829.555876,
>> >> 1663765.60845
>> >> 4860038.400171, 1663664.169793 4860193.541648, 1663652.235833
>> >> 4860390.451983, 1663771.57543 4860545.593459, 1664081.858383
>> >> 4860599.296278,
>> >> 1664410.042275 4860581.395339, 1664779.995027 4860402.385943,
>> >> 1664988.839322
>> >> 4860133.871849, 1665078.34402 4859919.060574, 1665114.145899
>> >> 4859644.579501,
>> >> 1665114.145899 4859423.801246, 1665132.046838 4859214.956951,
>> >> 1664947.070463
>> >> 4859077.716414, 1664947.070463 4858862.905139, 1665263.320395
>> >> 4858725.664602, 1665615.372207 4858731.631582, 1665764.546703
>> >> 4858916.607958, 1665830.183482 4859214.956951, 1665824.216502
>> >> 4859567.008762, 1665728.744824 4859925.027554, 1665639.240126
>> >> 4860223.376547, 1665633.273147 4860503.8246, 1665716.810865
>> >> 4860670.900037,
>> >> 1665961.457039 4860760.404734, 1666253.839052 4860760.404734,
>> >> 1666492.518246
>> >> 4860617.197218, 1666659.593682 4860408.352923, 1666743.1314
>> >> 4860098.06997,
>> >> 1666713.296501 4859811.654937, 1666635.725763 4859638.612521,
>> >> 1666474.617307
>> >> 4859519.272924, 1666295.607911 4859465.570105, 1666229.971132
>> >> 4859435.735206, 1665979.357978 4859262.69279, 1666009.192878
>> >> 4859065.782454,
>> >> 1666301.574891 4858886.773058, 1666546.221065 4858862.905139,
>> >> 1666623.791803
>> >> 4858707.763663, 1666576.055964 4858516.820307, 1666176.268314
>> >> 4858445.216549)"
>> >> END #FEATURE
>> >> LABELCACHE on
>> >> CLASS
>> >> STYLE
>> >> COLOR 200 200 200
>> >> OUTLINECOLOR 0 255 0
>> >> END
>> >> LABEL
>> >> TEXT 'BLAH BLAH'
>> >>
>> >> COLOR 0 85 255
>> >> OUTLINECOLOR 212 255 255
>> >> OUTLINEWIDTH 1
>> >> FONT "LiberationSans-Regular"
>> >> #FONT "Calibri"
>> >>
>> >> TYPE truetype
>> >> SIZE 9
>> >> ANGLE FOLLOW
>> >> OFFSET 15 99
>> >> POSITION auto
>> >> PRIORITY 10
>> >> MAXOVERLAPANGLE 180.0
>> >> BUFFER 1
>> >> FORCE OFF
>> >> PARTIALS FALSE
>> >> MINDISTANCE 200
>> >> END
>> >> END #CLASS
>> >> END
>> >>
>> >>
>> >> The error don't happen.
>> >>
>> >> Instead if I transfer this exact dataset in a spatialite (4.1.1) and
>> >> apply
>> >> an
>> >> angle follow
>> >> with an offset
>> >>
>> >> the error trigger immediatly when the
>> >> box clip will create a multilinestring.
>> >>
>> >> However removing the
>> >> OFFSET setting the error don't trigger.
>> >>
>> >> please notice I'm using spatialite 4.1.1 and gdal 1.10.
>> >>
>> >> Regards,
>> >>
>> >> Andrea.
>> >>
>> >>
>> >>
>> >> 2013/8/14 thomas bonfort <thomas.bonfort at gmail.com>
>> >>>
>> >>> Andrea, can you confirm if you are having the error when you remove
>> >>> the label offset ?
>> >>>
>> >>> On 14 August 2013 09:37, Andrea Peri <aperi2007 at gmail.com> wrote:
>> >>> > Hi,
>> >>> >
>> >>> > My theory is not true.
>> >>> >
>> >>> > I was able to create a featureset that like my image that will work
>> >>> > when
>> >>> > the visible box clip it creating a multilinestring..
>> >>> >
>> >>> > sorry for noise,
>> >>> >
>> >>> > My quest still go on.
>> >>> >
>> >>> > Regards,
>> >>> >
>> >>> >
>> >>> >
>> >>> >
>> >>> > 2013/8/13 Andrea Peri <aperi2007 at gmail.com>
>> >>> >>
>> >>> >> Hi,
>> >>> >> Perhaps I found the explanation.
>> >>> >>
>> >>> >> The "angle follow" with OGR is using the
>> >>> >> BufferBuilder::bufferLineSingleSided
>> >>> >> That function seem don't work with a MultiLinestring . It necessary
>> >>> >> need a
>> >>> >> simple linestring.
>> >>> >>
>> >>> >> The question is that sometime the simple linestirng when is clipped
>> >>> >> from
>> >>> >> the visible bbox of the map to render, is transformed in a
>> >>> >> MultiLinestring.
>> >>> >> As showed in attached image.
>> >>> >>
>> >>> >> So a linestring geometry clipped by the visible bbox will become a
>> >>> >> multilinestring geometry and the bufferLineSingleSided will give
>> >>> >> error
>> >>> >> to
>> >>> >> put a "follow angle".
>> >>> >>
>> >>> >> Andrea.
>> >>> >>
>> >>> >> 2013/8/13 Andrea Peri <aperi2007 at gmail.com>
>> >>> >>>
>> >>> >>> ok, thx.
>> >>> >>> I change to multiple scale.
>> >>> >>>
>> >>> >>> However I do a rapid check removing a label component, but the
>> >>> >>> problem is
>> >>> >>> still here.
>> >>> >>>
>> >>> >>> Now I rewrite a more exact mapfile using two classes.
>> >>> >>>
>> >>> >>> Andrea.
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>> >>> 2013/8/13 thomas bonfort <thomas.bonfort at gmail.com>
>> >>> >>>>
>> >>> >>>> yes, that's incompatible. use multiple scale-dependant classes
>> >>> >>>> for
>> >>> >>>> now
>> >>> >>>>
>> >>> >>>> On 13 August 2013 18:26, Andrea Peri <aperi2007 at gmail.com> wrote:
>> >>> >>>> > The two label are at different max/min scaledenominator.
>> >>> >>>> > The goal is to have little label size at low scales and bigger
>> >>> >>>> > font
>> >>> >>>> > size at
>> >>> >>>> > bigger scales.
>> >>> >>>> >
>> >>> >>>> > However only one lable is active at one scale level.
>> >>> >>>> >
>> >>> >>>> > Is this incompatible with "follow" ?
>> >>> >>>> >
>> >>> >>>> >
>> >>> >>>> >
>> >>> >>>> > 2013/8/13 thomas bonfort <thomas.bonfort at gmail.com>
>> >>> >>>> >>
>> >>> >>>> >> why the double label? they seem to be the same, but in any
>> >>> >>>> >> case
>> >>> >>>> >> multiple labels are not supported for FOLLOW.
>> >>> >>>> >>
>> >>> >>>> >> On 13 August 2013 18:08, Andrea Peri <aperi2007 at gmail.com>
>> >>> >>>> >> wrote:
>> >>> >>>> >> > I'm using spatialite 4.1.1,
>> >>> >>>> >> > so use ogr to access the db.
>> >>> >>>> >> >
>> >>> >>>> >> > LAYER
>> >>> >>>> >> > NAME "rt_topogr.50k.etichette.topon_idro_50k"
>> >>> >>>> >> > STATUS OFF
>> >>> >>>> >> > EXTENT 1554750.74 4678325.52 1771722.76 4924791.90
>> >>> >>>> >> > TYPE LINE
>> >>> >>>> >> > CONNECTIONTYPE OGR
>> >>> >>>> >> > CONNECTION "/path-to-spatialite/zz_topografica.sqlite"
>> >>> >>>> >> > DATA "select PK_UID_2, TOPO_OK, GEOMETRY from
>> >>> >>>> >> > topon_idro_50k"
>> >>> >>>> >> > PROJECTION
>> >>> >>>> >> > "+init=epsg:3003 +towgs84=0,0,0,0,0,0,0"
>> >>> >>>> >> > END
>> >>> >>>> >> > METADATA
>> >>> >>>> >> > "wms_title" "topon_idro_50k"
>> >>> >>>> >> > "wms_extent" "1554750.74 4678325.52 1771722.76
>> >>> >>>> >> > 4924791.90"
>> >>> >>>> >> > END
>> >>> >>>> >> > LABELCACHE ON
>> >>> >>>> >> > MAXSCALEDENOM 60100
>> >>> >>>> >> > MINSCALEDENOM 1
>> >>> >>>> >> > CLASS
>> >>> >>>> >> > NAME ''
>> >>> >>>> >> > MAXSCALEDENOM 60100
>> >>> >>>> >> > MINSCALEDENOM 1
>> >>> >>>> >> > LABEL
>> >>> >>>> >> > TEXT '[TOPO_OK]'
>> >>> >>>> >> > COLOR 0 85 255
>> >>> >>>> >> > OUTLINECOLOR 212 255 255
>> >>> >>>> >> > OUTLINEWIDTH 1
>> >>> >>>> >> > MAXSCALEDENOM 60100
>> >>> >>>> >> > MINSCALEDENOM 40100
>> >>> >>>> >> > FONT "LiberationSans-Regular"
>> >>> >>>> >> > TYPE truetype
>> >>> >>>> >> > SIZE 7
>> >>> >>>> >> > ANGLE FOLLOW
>> >>> >>>> >> > OFFSET 15 99
>> >>> >>>> >> > POSITION auto
>> >>> >>>> >> > PRIORITY 10
>> >>> >>>> >> > MAXOVERLAPANGLE 180.0
>> >>> >>>> >> > BUFFER 1
>> >>> >>>> >> > FORCE OFF
>> >>> >>>> >> > PARTIALS FALSE
>> >>> >>>> >> > MINDISTANCE 200
>> >>> >>>> >> > END
>> >>> >>>> >> > LABEL
>> >>> >>>> >> > TEXT '[TOPO_OK]'
>> >>> >>>> >> > COLOR 0 85 255
>> >>> >>>> >> > OUTLINECOLOR 212 255 255
>> >>> >>>> >> > OUTLINEWIDTH 1
>> >>> >>>> >> > MAXSCALEDENOM 40100
>> >>> >>>> >> > MINSCALEDENOM 1
>> >>> >>>> >> > FONT "LiberationSans-Regular"
>> >>> >>>> >> > TYPE truetype
>> >>> >>>> >> > SIZE 9
>> >>> >>>> >> > ANGLE FOLLOW
>> >>> >>>> >> > OFFSET 15 99
>> >>> >>>> >> > POSITION auto
>> >>> >>>> >> > PRIORITY 10
>> >>> >>>> >> > MAXOVERLAPANGLE 180.0
>> >>> >>>> >> > BUFFER 1
>> >>> >>>> >> > FORCE OFF
>> >>> >>>> >> > PARTIALS FALSE
>> >>> >>>> >> > MINDISTANCE 200
>> >>> >>>> >> > END
>> >>> >>>> >> > END
>> >>> >>>> >> > END
>> >>> >>>> >> >
>> >>> >>>> >> >
>> >>> >>>> >> >
>> >>> >>>> >> >
>> >>> >>>> >> > 2013/8/13 thomas bonfort <thomas.bonfort at gmail.com>
>> >>> >>>> >> >>
>> >>> >>>> >> >> there's something strange in your error message... the
>> >>> >>>> >> >> singleSidedBuffer stuff is in GEOS, and should have nothing
>> >>> >>>> >> >> to
>> >>> >>>> >> >> do
>> >>> >>>> >> >> in
>> >>> >>>> >> >> msOGRFileNextShape. post your whole mapfile layer.
>> >>> >>>> >> >>
>> >>> >>>> >> >> On 13 August 2013 17:42, Andrea Peri <aperi2007 at gmail.com>
>> >>> >>>> >> >> wrote:
>> >>> >>>> >> >> > Hi,
>> >>> >>>> >> >> >
>> >>> >>>> >> >> > I tested trasforming the multilinestring dataset in a
>> >>> >>>> >> >> > linestring
>> >>> >>>> >> >> > dataset
>> >>> >>>> >> >> > but
>> >>> >>>> >> >> > the error is still here.
>> >>> >>>> >> >> >
>> >>> >>>> >> >> > msDrawMap(): Image handling error. Failed to draw layer
>> >>> >>>> >> >> > named
>> >>> >>>> >> >> > 'rt_topogr.50k.etichette.topon_idro_50k'.
>> >>> >>>> >> >> >
>> >>> >>>> >> >> > msOGRFileNextShape(): OGR error.
>> >>> >>>> >> >> > IllegalArgumentException:
>> >>> >>>> >> >> > BufferBuilder::bufferLineSingleSided only accept
>> >>> >>>> >> >> > linestrings
>> >>> >>>> >> >> >
>> >>> >>>> >> >> > So it is not really due to a multilinestring vs
>> >>> >>>> >> >> > linestring
>> >>> >>>> >> >> > question.
>> >>> >>>> >> >> >
>> >>> >>>> >> >> > The quest carry on.
>> >>> >>>> >> >> >
>> >>> >>>> >> >> >
>> >>> >>>> >> >> >
>> >>> >>>> >> >> > 2013/8/13 Andrea Peri <aperi2007 at gmail.com>
>> >>> >>>> >> >> >>
>> >>> >>>> >> >> >> Hi,
>> >>> >>>> >> >> >>
>> >>> >>>> >> >> >> Try.ing to set a label on a MULTILINESTRING dataset.
>> >>> >>>> >> >> >>
>> >>> >>>> >> >> >> I set a label with Follow capability.
>> >>> >>>> >> >> >>
>> >>> >>>> >> >> >> ANGLE FOLLOW
>> >>> >>>> >> >> >>
>> >>> >>>> >> >> >> But I'm having this error:
>> >>> >>>> >> >> >>
>> >>> >>>> >> >> >> msOGRFileNextShape(): OGR error.
>> >>> >>>> >> >> >> IllegalArgumentException:
>> >>> >>>> >> >> >> BufferBuilder::bufferLineSingleSided only accept
>> >>> >>>> >> >> >> linestrings
>> >>> >>>> >> >> >>
>> >>> >>>> >> >> >> Is the Follow compatible with a MultiLinestring dataset
>> >>> >>>> >> >> >> or
>> >>> >>>> >> >> >> need
>> >>> >>>> >> >> >> only
>> >>> >>>> >> >> >> simple linestrings ?
>> >>> >>>> >> >> >>
>> >>> >>>> >> >> >> Thx,
>> >>> >>>> >> >> >>
>> >>> >>>> >> >> >> --
>> >>> >>>> >> >> >> -----------------
>> >>> >>>> >> >> >> Andrea Peri
>> >>> >>>> >> >> >> . . . . . . . . .
>> >>> >>>> >> >> >> qwerty àèìòù
>> >>> >>>> >> >> >> -----------------
>> >>> >>>> >> >> >
>> >>> >>>> >> >> >
>> >>> >>>> >> >> >
>> >>> >>>> >> >> >
>> >>> >>>> >> >> > --
>> >>> >>>> >> >> > -----------------
>> >>> >>>> >> >> > Andrea Peri
>> >>> >>>> >> >> > . . . . . . . . .
>> >>> >>>> >> >> > qwerty àèìòù
>> >>> >>>> >> >> > -----------------
>> >>> >>>> >> >> >
>> >>> >>>> >> >> > _______________________________________________
>> >>> >>>> >> >> > mapserver-users mailing list
>> >>> >>>> >> >> > mapserver-users at lists.osgeo.org
>> >>> >>>> >> >> > http://lists.osgeo.org/mailman/listinfo/mapserver-users
>> >>> >>>> >> >> >
>> >>> >>>> >> >
>> >>> >>>> >> >
>> >>> >>>> >> >
>> >>> >>>> >> >
>> >>> >>>> >> > --
>> >>> >>>> >> > -----------------
>> >>> >>>> >> > Andrea Peri
>> >>> >>>> >> > . . . . . . . . .
>> >>> >>>> >> > qwerty àèìòù
>> >>> >>>> >> > -----------------
>> >>> >>>> >
>> >>> >>>> >
>> >>> >>>> >
>> >>> >>>> >
>> >>> >>>> > --
>> >>> >>>> > -----------------
>> >>> >>>> > Andrea Peri
>> >>> >>>> > . . . . . . . . .
>> >>> >>>> > qwerty àèìòù
>> >>> >>>> > -----------------
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>> >>> --
>> >>> >>> -----------------
>> >>> >>> Andrea Peri
>> >>> >>> . . . . . . . . .
>> >>> >>> qwerty àèìòù
>> >>> >>> -----------------
>> >>> >>
>> >>> >>
>> >>> >>
>> >>> >>
>> >>> >> --
>> >>> >> -----------------
>> >>> >> Andrea Peri
>> >>> >> . . . . . . . . .
>> >>> >> qwerty àèìòù
>> >>> >> -----------------
>> >>> >
>> >>> >
>> >>> >
>> >>> >
>> >>> > --
>> >>> > -----------------
>> >>> > Andrea Peri
>> >>> > . . . . . . . . .
>> >>> > qwerty àèìòù
>> >>> > -----------------
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> -----------------
>> >> Andrea Peri
>> >> . . . . . . . . .
>> >> qwerty àèìòù
>> >> -----------------
>> >
>> >
>> >
>> >
>> > --
>> > -----------------
>> > Andrea Peri
>> > . . . . . . . . .
>> > qwerty àèìòù
>> > -----------------
>
>
>
>
> --
> -----------------
> Andrea Peri
> . . . . . . . . .
> qwerty àèìòù
> -----------------
More information about the MapServer-users
mailing list