[mapserver-users] postgis wms bounding box
Hello List, I am setting up a wms server which retrieves its data from a postgis database and I am having trouble displaying the layer in QGIS or OpenJump correctly. QGIS doesn't show anything at all, while openjump requires zooming in to see the data. A getmap request (without bbox-parameter) in the browser does give me a "correct" view of the data. I am using on Ubuntu 7.10 MapServer version 4.10.3 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=THREADS SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE DEBUG=MSDEBUG Having a look at the getcapabilites document, there seems to be a problem with the calculation of the layer extents: here's the global extent from the getcapabilities response: And here's the bbox from the actual postgis layer: As you can see, the bounding box of the layer is completely wrong. It should nearly be the same as the global extent. The data definition in the mapfile is: Data "centroid from public.locations using unique id" Any suggestions? Should I return a bbox in the data query for the postgis layer to prevent the wrong bbox of the layer? And if yes, how do I do this? Greetings from Luxembourg Frank ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] postgis wms bounding box
Thanks Michael, that solved the issue. This issue is so close to "RTFM" that I am really ashamed to post again ;-), but I really did not find it in the wms how-to. Well thanks again for the tipp. Just one more question though. Is it possible to determine the extent of the postgis layer somehow dynamically, maybe within a query? I just think of a dynamically growing table where the extent might change anytime and I would have to adjust the extent in the mapfile each time the extent gets bigger. Greetings Frank On Tuesday 22 April 2008 12:29:46 Michael Schulz wrote: > Hi Frank, > > that is a known problem with postgis layers. If i recall it correctly > it is basically due to the fact that it is timely expensive to > calculate the extent of a postgis layer (it'd need to be done for each > getCap request). You can come around this by specifying the wms_extent > metadata parameter for that layer manually. > > Cheers, Michael > > 2008/4/22 Frank Broniewski <[EMAIL PROTECTED]>: > > Hello List, > > > > I am setting up a wms server which retrieves its data from a postgis > > database and I am having trouble displaying the layer in QGIS or OpenJump > > correctly. QGIS doesn't show anything at all, while openjump requires > > zooming in to see the data. A getmap request (without bbox-parameter) in > > the browser does give me a "correct" view of the data. I am using on > > Ubuntu 7.10 > > > > MapServer version 4.10.3 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP > > OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER > > SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT > > SUPPORTS=WCS_SERVER SUPPORTS=THREADS SUPPORTS=GEOS INPUT=EPPL7 > > INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE DEBUG=MSDEBUG > > > > Having a look at the getcapabilites document, there seems to be a > > problem with the calculation of the layer extents: here's the global > > extent from the getcapabilities response: > > > > > maxy="50.1818" /> > > > maxy="138765" /> > > > > And here's the bbox from the actual postgis layer: > > > maxy="2.63905e+18" /> > > > maxx="2.5e+07" maxy="2.5e+07" /> > > > > As you can see, the bounding box of the layer is completely wrong. It > > should nearly be the same as the global extent. The data definition in > > the mapfile is: > > Data "centroid from public.locations using unique id" > > > > Any suggestions? Should I return a bbox in the data query for the > > postgis layer to prevent the wrong bbox of the layer? And if yes, how do > > I do this? > > > > Greetings from Luxembourg > > > > Frank > > ___ > > mapserver-users mailing list > > mapserver-users@lists.osgeo.org > > http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Temporary image files
Hi List I am just setting up a web server for use with mapserver. Targeted use will be php-mapscript and wms map serving. I was just looking through my mapfiles in order to find file system based configurations like shapepath, imagepath etc. Stumbling over imagepath and imageurl parameters, I was wondering for what reason mapserver stores the images in the temporary folder before serving them to the user. When querying mapserver as a wms, there are no temporary files, so this does not seem to be a necessary step to provide a map image to the user. Does mapserver reuse these images? Or is the temporary files approach a remain from more static web map pages where the image could be reused more often? Coming to my next question, I presume that my php code causes the storage of the image - $mapimageurl = $mapimage->saveWebImage(); Is it possible to deliver the image directly to the browser instead of passing an URI? ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] WMS in Google Earth
On Friday 03 October 2008 14:50:58 Alexandre Dube wrote: > Tom, > > The log told me : "SERVICE parameter missing"... I must have done > something wrong with my first attempt because now it's working if I add > "service=WMS" in the Link string. > > Thank you very much, > > Alexandre > > Alexandre Dube wrote: > > OK, I'll try that. > > > > Many thanks, Tom > > > > Alexandre > > > > Kralidis,Tom [Burlington] wrote: > >> Right, those may or may not have MapServer WMSs with the service= > >> required behaviour. > >> > >> That said, I can connect a WMS from my local ms4w to Google Earth > >> without problem. > >> > >> Try this and check your web logs. See the actual request passed by > >> GE, and this should help you diagnose the issue. > >> > >> Since you are using 5.2.0, I would not suspect it's an issue of a > >> missing styles= parameter. > >> > >> ..Tom > >> > >> > >> > >> -Original Message- > >> From: Alexandre Dube [mailto:[EMAIL PROTECTED] > >> Sent: Fri 03-Oct-08 08:09 > >> To: Kralidis,Tom [Burlington] > >> Cc: MAPSERVER USERS > >> Subject: Re: [mapserver-users] WMS in Google Earth > >> > >> Hi Tom, > >> > >> Thanks for your reply, but unfortunately that didn't solved the > >> problem. In fact, the existing WMS servers in GE, don't use > >> "service=WMS" in any "Link" string and they work... > >> > >> However, the wms_onlineresource IS always the first part of the > >> "Link" string, not the actual local link you copy/paste when in the > >> "WMS Parameters" menu... Does this means that GE don't accept local > >> wms_onlineresource ? I think this could make sense... > >> > >> Any ideas ? > >> > >> Alexandre > >> > >> Kralidis,Tom [Burlington] wrote: > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > Alexandre Dube > Sent: 02 October, 2008 4:40 PM > To: MAPSERVER USERS > Subject: Re: [mapserver-users] WMS in Google Earth > > Back with my local WMS on GE problem. I think it has something to > do with the wms_onlineresource in WEB METADATA. > > I downloaded the gmap datas, which are already in GE as the last > WMS service available, to be able to test locally what is already > working on the internet. At first, it worked in GE. Then, I > noticed that the wms_onlineresource was set to : > "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?"; > which seemed wrong to me, because my other map doesn't exist on the > internet, only locally. > > So I changed it to : > "http://127.0.0.1:port/cgi-bin/mapserv?map=/my/local/path/gmap > 75_wms.map&" > and then I doesn't work anymore... also tried : > "http://127.0.0.1:port/cgi-bin/mapserv?"; > no result... > > I must be close the the answer. I have searched a lot over the > internet but I haven't found anything yet. Any hints ? > > Alexandre > > Alexandre Dube wrote: > > Hi list, > > > > I'm trying to figure how to setup my own wms layer in GE. So > > far, I'm able to see each layer in the "WMS Parameters", but if I > > select any, I get a big red X, meaning it's not working... > > > > If I copy the "Link" created by GE, paste it in a browser, add > > "&SERVICE=WMS&BBOX=-180,-90,180,90", then I get a map. So, I > > don't really know what I'm missing here. Any hint ? I use > > mapserver 5.2.0 > > > on Linux. > >>> > >>> This might be due to the SERVICE parameter missing WMS GetMap request. > >>> If you, once you add the layer, right click and select "Properties", > >>> adding "&service=WMS" to the Link string, you should be able to get a > >>> valid map image returned. > >>> > >>> That said, I thought we lifted the service param from WMS GetMap > >>> requests (GetMap sans service= works for me in svn trunk). > >>> > >>> ..Tom Hi, though I am not using mapserver 5.2 but 5.02 ;-) I noticed a behavior from GE always resetting the imageformat of the request string to image/gif. Maybe this is your problem? So when leaving the WMS Parameters page check the created URI in the link field for the correct imagetype. HTH Frank ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] PHP Mapscript
Hi, I am forwarding this from the FreeBSD mailing list. Maybe someone here has a clue. I have a problem with PHP Mapscript (the graphics/mapserver package). I suppose the problem is in conjunction with the combination of lang/php5 (PHP 5.4.6) and Mapserver 6.0.3. Everytime I try to initiate a new mapObj in mapscript, PHP segfaults. My testscript: ms_GetVersion() still works, but the next line ($map = new mapObj('test.map')) causes the segmentation fault to happen: brfr@frodo# php -f pi.php MapServer version 6.0.3 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=GEOS INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILESegmentation fault (core dumped) An examination of the core with gdb yields brfr@frodo# gdb /usr/local/bin/php php.core GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... Core was generated by `php'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libcrypt.so.5...done. Loaded symbols for /lib/libcrypt.so.5 [snip ...] Reading symbols from /usr/local/lib/php/20100525-debug/tidy.so...done. Loaded symbols for /usr/local/lib/php/20100525-debug/tidy.so Reading symbols from /usr/local/lib/libtidy-0.99.so.0...done. Loaded symbols for /usr/local/lib/libtidy-0.99.so.0 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0069a10a in zend_std_get_constructor (object=0x8024762c8) at /usr/ports/lang/php5/work/php-5.4.6/Zend/zend_object_handlers.c:1271 1271 /usr/ports/lang/php5/work/php-5.4.6/Zend/zend_object_handlers.c: No such file or directory. in /usr/ports/lang/php5/work/php-5.4.6/Zend/zend_object_handlers.c [New Thread 802407400 (LWP 100919/php)] (gdb) I tried compiling everything back and forth, enabled and disabled all kinds of PHP extensions but nothing helps. Segfault is coming always back to me. Btw. root@frodo# php -v PHP 5.4.6 (cli) (built: Sep 26 2012 15:32:23) (DEBUG) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies works, and all non-mapscript PHP applications seem to run fine. So, finally, any tipps to solve this problem are greatly appreceated ... Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Min/max pixelsize vs. min/max scaledenom
Hey there, yes, that's me again :-) I'm currently poking around in map rendering software like mapserver and mapnik. I'd like to find out how I can organize my map publishing scheme most efficiently. It seems I'm hitting the same spot with all rendering softwares. I wrote my mapserver question Thomas refers to, to the mapserver-dev list because I thought this would be a more appropriate place than the general user list. So I guess it didn't trigger that much attention ... BTW. I created a google spreadsheet [1] for calculating a scale based on a desired meter / pixel value. Probably very trivial but maybe helpful in some situations ... [1] https://docs.google.com/spreadsheet/ccc?key=0ArIoTsX_X90tdFRLQzI5MlRVUXk3NFdfM3dNdE1wYmc&usp=sharing Am 2013-08-27 13:14, schrieb thomas bonfort: Jukka, I would say that Frank also raised this issue on the mapserver list [1]. Am I mistaken or is your request identical? regards, thomas [1] http://osgeo-org.1560.x6.nabble.com/Scales-and-raster-maps-td5071674.html On 27 August 2013 12:49, Rahkonen Jukka wrote: Hi, Frank Broniewski wrote the following question to the Mapnik users list a few hours ago and I started to think that I would like to have such min/max pixelsize setting in Mapserver. I can simply get the native pixel size of our maps with gdalinfo or something and I can estimate that when I am showing a topographic map with 1 m native pixel size on the screen the texts are readable and map looks good approximately at resolutions between 0.75 - 1.5 m/pixel. Now it would be nice to write into mapfile the scale range as MINPIXELSIZE "0.75" MAXPIXELSIZE "1.5" I know that scale in Mapserver is based on a resolution on 72 dots per inch and that inch is 0.0254 meters and I can calculate that the native resolution of the map expressed as "one image pixel drawn as one dot on the 72 DPI screen" means scale of 1:2836.65 and that I can write my good resolution range in a mapfile as MINSCALEDENOM "2126" MAXSCALEDENOM "4252". However, as Frank Broniewski writes, OpenLayers and tile cache programs like MapCaceh, MapProxy and GeoWebcache are configured by using "units per pixel". Why not to let Mapserver users use the same system in mapfile as an alternative for minscaledenom/maxscaledemon? And this is what Frank wrote " Hi all, is it possible to use a resolution parameter (meter / pixel, that what map.scale() outputs) instead of Min/Maxscaledenominator? That would be really helpful in order to arrange map styles between different software. Let's say I'm creating a map with a number of zoom levels and on each zoom level I'm changing the map, doing generalization or displaying more detail. The map is planned to be used in a web context with the Javascript OpenLayers Map library. Inbetween there is a proxy software like Mapproxy. Both OpenLayers and Mapproxy understand the principle of resolutions, ie natural distances per pixel. So I can define my map in OpenLayers with a list of resolutions like [500, 200, 100, etc.]. I can continue to use this list in Mapproxy so that each resolution matches a certain map layout. Unfortunately this breaks now because Mapnik uses scales in correlation with the dpi setting." -Jukka Rahkonen- ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Expression segmentation fault
Hi, I just updated my mapserver installation to the latest version (6.2.1). I'm running FreeBSD 9.1 and I'm getting a segmentation fault related to expression usage in my mapfile. I've already compiled mapserver with debug symbols and I loaded the core file into gdb: > gdb /usr/local/www/apache22/cgi-bin/mapserv mapserv.core Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /usr/local/lib/libintl.so.9...done. Loaded symbols for /usr/local/lib/libintl.so.9 Reading symbols from /usr/lib/libsupc++.so.1...done. Loaded symbols for /usr/lib/libsupc++.so.1 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0008008e2520 in yylex (lvalp=0x7fffd250, p=0x7fffd3b0) at mapparser.y:649 649 mapparser.y: No such file or directory. in mapparser.y [New Thread 809007400 (LWP 101134/mapserv)] So apparently there seems to be a file missing!? Looking at the source code (git), line 649 is a blank line, so I'm not sure what's missing exactly. I've got yacc, bison and flex installed. For testing purposes I'm using the mapserver cgi on the command line: /usr/local/www/apache22/cgi-bin/mapserv -nh "QUERY_STRING=map=/data/web/mapserver/cnra/cnra.map&mode=map&layer=boundaries" The boundaries layer: Layer #Classitem "level" Connection "host=10.0.0.2 dbname=osm user=user password=guessme" Connectiontype Postgis Data "geom FROM (SELECT osm_id, way AS geom, name, admin_level AS level, tags FROM planet_osm_polygon) AS foo USING UNIQUE osm_id USING SRID=3857" Filter "tags ?& ARRAY['boundary', 'admin_level']" Name "boundaries" Processing "CLOSE_CONNECTION=DEFER" Status on Type line Units meters Metadata "ows_title" "Boundary Map" "ows_abstract" "Boundary map - data from OpenStreetMap, ODbl licensed" End Projection "init=epsg:3857" End Class Expression ("[level]" = "6") #Expression "6" Name "communes" Style Color 10 10 10 Opacity 50 Width 2 End End End The classitem / simple expression (Expression "6") works with the mapserver cgi, but python mapscript throws an error: _mapscript.MapServerError: msEvalExpression(): General error message. Invalid item index. I've read the mapserver expressions documentation [1] and the note that says something about the working environment might be linked to more than one expression library. But my operating system skills are not high enough to turn this paragraph into something useful for me. So any help is greatly appreciated. Frank Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Expression segmentation fault
Am 2013-09-04 14:33, schrieb thomas bonfort: Frank, please supply a backtrace of the crash (`bt` in gdb once it has halted at the segfault) -- thomas On Wed, Sep 4, 2013 at 2:25 PM, Frank Broniewski wrote: Hi, I just updated my mapserver installation to the latest version (6.2.1). I'm running FreeBSD 9.1 and I'm getting a segmentation fault related to expression usage in my mapfile. I've already compiled mapserver with debug symbols and I loaded the core file into gdb: gdb /usr/local/www/apache22/cgi-bin/mapserv mapserv.core Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /usr/local/lib/libintl.so.9...done. Loaded symbols for /usr/local/lib/libintl.so.9 Reading symbols from /usr/lib/libsupc++.so.1...done. Loaded symbols for /usr/lib/libsupc++.so.1 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0008008e2520 in yylex (lvalp=0x7fffd250, p=0x7fffd3b0) at mapparser.y:649 649 mapparser.y: No such file or directory. in mapparser.y [New Thread 809007400 (LWP 101134/mapserv)] So apparently there seems to be a file missing!? Looking at the source code (git), line 649 is a blank line, so I'm not sure what's missing exactly. I've got yacc, bison and flex installed. For testing purposes I'm using the mapserver cgi on the command line: /usr/local/www/apache22/cgi-bin/mapserv -nh "QUERY_STRING=map=/data/web/mapserver/cnra/cnra.map&mode=map&layer=boundaries" The boundaries layer: Layer #Classitem "level" Connection "host=10.0.0.2 dbname=osm user=user password=guessme" Connectiontype Postgis Data "geom FROM (SELECT osm_id, way AS geom, name, admin_level AS level, tags FROM planet_osm_polygon) AS foo USING UNIQUE osm_id USING SRID=3857" Filter "tags ?& ARRAY['boundary', 'admin_level']" Name "boundaries" Processing "CLOSE_CONNECTION=DEFER" Status on Type line Units meters Metadata "ows_title" "Boundary Map" "ows_abstract" "Boundary map - data from OpenStreetMap, ODbl licensed" End Projection "init=epsg:3857" End Class Expression ("[level]" = "6") #Expression "6" Name "communes" Style Color 10 10 10 Opacity 50 Width 2 End End End The classitem / simple expression (Expression "6") works with the mapserver cgi, but python mapscript throws an error: _mapscript.MapServerError: msEvalExpression(): General error message. Invalid item index. I've read the mapserver expressions documentation [1] and the note that says something about the working environment might be linked to more than one expression library. But my operating system skills are not high enough to turn this paragraph into something useful for me. So any help is greatly appreciated. Frank Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users Hi Thomas, thanks for the fast response! Here's the bt: (gdb) bt #0 0x0008008e2520 in yylex (lvalp=0x7fffd250, p=0x7fffd3b0) at mapparser.y:649 #1 0x0008008e0146 in yyparse (p=0x7fffd3b0) at mapparser.c:1500 #2 0x0008009239b2 in msEvalExpression (layer=0x809009000, shape=0x7fffd4e0, expression=0x8090a0280, itemindex=-1) at maputil.c:478 #3 0x000800923f03 in msShapeGetClass (layer=0x809009000, map=0x8090bd800, shape=0x7fffd4e0, classgroup=0x0, numclasses=1) at maputil.c:581 #4 0x000800980ab2 in msDrawVectorLayer (map=0x8090bd800, layer=0x809009000, image=0x8090a91c0) at mapdraw.c:989 #5 0x0008009800ed in msDrawLayer (map=0x8090bd800, layer=0x809009000, image=0x8090a91c0) at mapdraw.c:808 #6 0x00080097ed18 in msDrawMap (map=0x8090bd800, querymap=0) at mapdraw.c:437 #7 0x000800a16e6e in msCGIDispatchImageRequest (mapserv=0x8090b2300) at mapservutil.c:1448 #8 0x000800a179c2 in msCGIDispatchRequest (mapserv=0x8090b2300) at mapservutil.c:1690 #9 0x004012c1 in main (argc=3, argv=0x7fffd9f0) at mapserv.c:259 (gdb) -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Expression segmentation fault
Ok, this is weird. It is, as I know now, data source related. I was poking in the layer configuration to find out why the core dump happens. Reinstalling didn't solve the issue, btw. So first I converted the data to shapefile with ogr2ogr (as always very handy!) and changed the layer accordingly. And no core dump happened! Then I tried several versions of the data and filter statements without success. Since this is a osm2pgsql database I swapped finally the table from planet_osm_polygon to planet_osm_line (same table schema apart from the geometry) - and voilà - no core dump. So I can relate the problem to the planet_osm_polygon table - but I'm not sure what difference actually is responsible for the crash ... The most apparent difference is of course the geometry type: planet_osm_line is linestring, planet_osm_polygon is geometry ... I will investigate the attributes further tomorrow, but now I need to earn some money. It's always the deadlines ... Frank Am 2013-09-05 09:47, schrieb thomas bonfort: Frank, This is such a simple use-case that I doubt it's a bug in the code per-se. Can you make sure that you are using a clean build (make clean && make && make install) as I suspect this could be happening due to a compilation problem (as a rule of thumb, with mapserver <6.4, always run make clean after re-running configure) -- thomas On Wed, Sep 4, 2013 at 2:39 PM, Frank Broniewski wrote: Am 2013-09-04 14:33, schrieb thomas bonfort: Frank, please supply a backtrace of the crash (`bt` in gdb once it has halted at the segfault) -- thomas On Wed, Sep 4, 2013 at 2:25 PM, Frank Broniewski wrote: Hi, I just updated my mapserver installation to the latest version (6.2.1). I'm running FreeBSD 9.1 and I'm getting a segmentation fault related to expression usage in my mapfile. I've already compiled mapserver with debug symbols and I loaded the core file into gdb: gdb /usr/local/www/apache22/cgi-bin/mapserv mapserv.core Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /usr/local/lib/libintl.so.9...done. Loaded symbols for /usr/local/lib/libintl.so.9 Reading symbols from /usr/lib/libsupc++.so.1...done. Loaded symbols for /usr/lib/libsupc++.so.1 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0008008e2520 in yylex (lvalp=0x7fffd250, p=0x7fffd3b0) at mapparser.y:649 649 mapparser.y: No such file or directory. in mapparser.y [New Thread 809007400 (LWP 101134/mapserv)] So apparently there seems to be a file missing!? Looking at the source code (git), line 649 is a blank line, so I'm not sure what's missing exactly. I've got yacc, bison and flex installed. For testing purposes I'm using the mapserver cgi on the command line: /usr/local/www/apache22/cgi-bin/mapserv -nh "QUERY_STRING=map=/data/web/mapserver/cnra/cnra.map&mode=map&layer=boundaries" The boundaries layer: Layer #Classitem "level" Connection "host=10.0.0.2 dbname=osm user=user password=guessme" Connectiontype Postgis Data "geom FROM (SELECT osm_id, way AS geom, name, admin_level AS level, tags FROM planet_osm_polygon) AS foo USING UNIQUE osm_id USING SRID=3857" Filter "tags ?& ARRAY['boundary', 'admin_level']" Name "boundaries" Processing "CLOSE_CONNECTION=DEFER" Status on Type line Units meters Metadata "ows_title" "Boundary Map" "ows_abstract" "Boundary map - data from OpenStreetMap, ODbl licensed" End Projection "init=epsg:3857" End Class Expression ("[level]" = "6") #Expression "6" Name "communes" Style Color 10 10 10 Opacity 50 Width 2 End End End The classitem / simple expression (Expression "6") works with the mapserver cgi, but python mapscript throws an error: _mapscript.MapServerError: msEvalExpression(): General error message. Invalid item index. I've read the mapserver expressions documentation [1] and the note that says something about the working environment might be linked to more than one expression library. But my operating system skills are not high enough to turn this paragraph into something useful for me. So any help is greatly appreciated. Frank Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://list
Re: [mapserver-users] Expression segmentation fault
Sorry, but it's not that simple :-(: My current layer configuration: I will write a PostGIS query and see what differences turn up between the line and polygon tables and if it is really the geometry as Jukka Rahkonen and Steve W suggest ... Layer Connection "host=10.0.0.2 dbname=osm user=me password=guessit" Connectiontype Postgis Data "way from (select osm_id, way, admin_level from planet_osm_polygon) as foo using unique osm_id using srid=2169" #Filter "tags ?& ARRAY['boundary', 'admin_level']" name "boundaries" status on type line units meters Projection "init=epsg:3857" End Class expression ("[admin_level]" = "6") name "communes" Style color 10 10 10 width 2 End End End Am 2013-09-06 10:16, schrieb thomas bonfort: Frank, can you try without including the hstore tags in your select? -- thomas On Thu, Sep 5, 2013 at 3:49 PM, Frank Broniewski wrote: Ok, this is weird. It is, as I know now, data source related. I was poking in the layer configuration to find out why the core dump happens. Reinstalling didn't solve the issue, btw. So first I converted the data to shapefile with ogr2ogr (as always very handy!) and changed the layer accordingly. And no core dump happened! Then I tried several versions of the data and filter statements without success. Since this is a osm2pgsql database I swapped finally the table from planet_osm_polygon to planet_osm_line (same table schema apart from the geometry) - and voilà - no core dump. So I can relate the problem to the planet_osm_polygon table - but I'm not sure what difference actually is responsible for the crash ... The most apparent difference is of course the geometry type: planet_osm_line is linestring, planet_osm_polygon is geometry ... I will investigate the attributes further tomorrow, but now I need to earn some money. It's always the deadlines ... Frank Am 2013-09-05 09:47, schrieb thomas bonfort: Frank, This is such a simple use-case that I doubt it's a bug in the code per-se. Can you make sure that you are using a clean build (make clean && make && make install) as I suspect this could be happening due to a compilation problem (as a rule of thumb, with mapserver <6.4, always run make clean after re-running configure) -- thomas On Wed, Sep 4, 2013 at 2:39 PM, Frank Broniewski wrote: Am 2013-09-04 14:33, schrieb thomas bonfort: Frank, please supply a backtrace of the crash (`bt` in gdb once it has halted at the segfault) -- thomas On Wed, Sep 4, 2013 at 2:25 PM, Frank Broniewski wrote: Hi, I just updated my mapserver installation to the latest version (6.2.1). I'm running FreeBSD 9.1 and I'm getting a segmentation fault related to expression usage in my mapfile. I've already compiled mapserver with debug symbols and I loaded the core file into gdb: gdb /usr/local/www/apache22/cgi-bin/mapserv mapserv.core Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /usr/local/lib/libintl.so.9...done. Loaded symbols for /usr/local/lib/libintl.so.9 Reading symbols from /usr/lib/libsupc++.so.1...done. Loaded symbols for /usr/lib/libsupc++.so.1 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0008008e2520 in yylex (lvalp=0x7fffd250, p=0x7fffd3b0) at mapparser.y:649 649 mapparser.y: No such file or directory. in mapparser.y [New Thread 809007400 (LWP 101134/mapserv)] So apparently there seems to be a file missing!? Looking at the source code (git), line 649 is a blank line, so I'm not sure what's missing exactly. I've got yacc, bison and flex installed. For testing purposes I'm using the mapserver cgi on the command line: /usr/local/www/apache22/cgi-bin/mapserv -nh "QUERY_STRING=map=/data/web/mapserver/cnra/cnra.map&mode=map&layer=boundaries" The boundaries layer: Layer #Classitem "level" Connection "host=10.0.0.2 dbname=osm user=user password=guessme" Connectiontype Postgis Data "geom FROM (SELECT osm_id, way AS geom, name, admin_level AS level, tags FROM planet_osm_polygon) AS foo USING UNIQUE osm_id USING SRID=3857" Filter "tags ?& ARRAY['boundary', 'admin_level']" Name "boundaries" Processing "CLOSE_CONNECTION=DEFER" Status on Type line Units meters Metadata "ows_title" "Boundary Map" "ows_abstract" "Boundary map - data from OpenStreetMap, ODbl licensed" End Projection "init=epsg:3857" End Class
Re: [mapserver-users] Expression segmentation fault
Ok, so I did a little bit of geometry testing. Don't know why that should cause an expression crash, but well ... here's the query I ran on planet_osm_line and planet_osm_polygon in PostGIS: select osm_id, boundary, admin_level, tags, st_isvalid(way) as isvalid, st_isvalidreason(way) as reason, st_isclosed(way) as isclosed, st_isempty(way) as isempty, st_geometrytype(way) as geometrytype, st_length(way) as length, st_perimeter(way) as perimeter, st_numgeometries(way) as numgeometries, st_numinteriorrings(way) as numinteriorrings, st_astext(way) as wkt from planet_osm_polygon where way && st_transform(st_setsrid('BOX3D(0 0, 15 20)'::box3d, 2169), 3857) and tags ?& ARRAY['boundary', 'admin_level'] order by geometrytype, admin_level, name There's one record that differs from the rest in the planet_osm_polygon table. I've pasted the result below. It has a geometrytype of GEOMETRYCOLLECTION and is empty, so that may cause a crash ... 229382895;"administrative";"8";""area"=>"yes", "name"=>"RW 10", "boundary"=>"administrative", "admin_level"=>"8", "flood_prone"=>"no", "is_in:hamlet"=>"MENTENG DALAM", "is_in:district"=>"Jakarta Selatan", "is_in:province"=>"DKI Jakarta", "is_in:subdistrict"=>"TEBET"";t;"Valid Geometry";;t;"ST_GeometryCollection";0;0;0;;"GEOMETRYCOLLECTION EMPTY" The attributes confirm, that this record could be a remain of http://www.openstreetmap.org/browse/way/229382895 , but I really wonder why it gets caught in the bbox which should center around Luxembourg with parts of the surrounding countries. But when the geometry is a black hole you never know :-) Am 2013-09-05 16:30, schrieb Stephen Woodbridge: Hi, This is a great idea. Regardless we should try to identify the case that is causing the crash and trap that. Mapserver should never crash as a general rule so finding the specific case is important so Thomas can reproduce it. If you have (or can load) the data in a database table, then it should be fairly easy to do a manual binary search to find the offending object by adding " where gid between and " to your query and adjusting the value of lower and upper to narrow the search to the problem object. Thanks, -Steve W On 9/5/2013 10:11 AM, Rahkonen Jukka wrote: Hi, Osm2pgsql can create invalid polygons with self-intersections and/or three-vertex A-B-A rings. It might be good to run MakeValid or simply find possibly invalid features with IsValid and delete them and then see if Mapserver gets happy. Actually, run IsValid and save the faulty geometries somewhere before correcting or deleting them. It would be nice to catch them if they happen to be the reason for the crash. -Jukka Rahkonen- Frank Broniewski wrote: Ok, this is weird. It is, as I know now, data source related. I was poking in the layer configuration to find out why the core dump happens. Reinstalling didn't solve the issue, btw. So first I converted the data to shapefile with ogr2ogr (as always very handy!) and changed the layer accordingly. And no core dump happened! Then I tried several versions of the data and filter statements without success. Since this is a osm2pgsql database I swapped finally the table from planet_osm_polygon to planet_osm_line (same table schema apart from the geometry) - and voilà - no core dump. So I can relate the problem to the planet_osm_polygon table - but I'm not sure what difference actually is responsible for the crash ... The most apparent difference is of course the geometry type: planet_osm_line is linestring, planet_osm_polygon is geometry ... I will investigate the attributes further tomorrow, but now I need to earn some money. It's always the deadlines ... Frank Am 2013-09-05 09:47, schrieb thomas bonfort: Frank, This is such a simple use-case that I doubt it's a bug in the code per-se. Can you make sure that you are using a clean build (make clean && make && make install) as I suspect this could be happening due to a compilation problem (as a rule of thumb, with mapserver <6.4, always run make clean after re-running configure) -- thomas On Wed, Sep 4, 2013 at 2:39 PM, Frank Broniewski wrote: Am 2013-09-04 14:33, schrieb thomas bonfort: Frank, please supply a backtrace of the crash (`bt` in gdb once it has halted at the segfault) -- thomas On Wed, Sep 4, 2013 at 2:25 PM, Frank Broniewski wrote: Hi, I just updated my mapserver installation to the latest version (6.2.1). I'm running FreeBSD 9.1 and I'm getting a segmentation fault related to expression usage in my mapfile. I've already compiled mapserver with debug symbols and
Re: [mapserver-users] Expression segmentation fault
No, it doesn't. Tried right now the mapfile on my desktop machine (ubuntu) and it crashes here also (same error msg, more or less): Segfault happened at: 0x7fb2bb94895c : mov (%rax,%rdx,8),%rdi PC (0x7fb2bb94895c) ok source "(%rax,%rdx,8)" (0x) not located in a known VMA region (needed readable region)! destination "%rdi" ok I will investigate further ... Frank Am 2013-09-06 14:24, schrieb thomas bonfort: Does this feature in particular crash mapserver? On Fri, Sep 6, 2013 at 2:20 PM, Frank Broniewski wrote: Ok, so I did a little bit of geometry testing. Don't know why that should cause an expression crash, but well ... here's the query I ran on planet_osm_line and planet_osm_polygon in PostGIS: select osm_id, boundary, admin_level, tags, st_isvalid(way) as isvalid, st_isvalidreason(way) as reason, st_isclosed(way) as isclosed, st_isempty(way) as isempty, st_geometrytype(way) as geometrytype, st_length(way) as length, st_perimeter(way) as perimeter, st_numgeometries(way) as numgeometries, st_numinteriorrings(way) as numinteriorrings, st_astext(way) as wkt from planet_osm_polygon where way && st_transform(st_setsrid('BOX3D(0 0, 15 20)'::box3d, 2169), 3857) and tags ?& ARRAY['boundary', 'admin_level'] order by geometrytype, admin_level, name There's one record that differs from the rest in the planet_osm_polygon table. I've pasted the result below. It has a geometrytype of GEOMETRYCOLLECTION and is empty, so that may cause a crash ... 229382895;"administrative";"8";""area"=>"yes", "name"=>"RW 10", "boundary"=>"administrative", "admin_level"=>"8", "flood_prone"=>"no", "is_in:hamlet"=>"MENTENG DALAM", "is_in:district"=>"Jakarta Selatan", "is_in:province"=>"DKI Jakarta", "is_in:subdistrict"=>"TEBET"";t;"Valid Geometry";;t;"ST_GeometryCollection";0;0;0;;"GEOMETRYCOLLECTION EMPTY" The attributes confirm, that this record could be a remain of http://www.openstreetmap.org/browse/way/229382895 , but I really wonder why it gets caught in the bbox which should center around Luxembourg with parts of the surrounding countries. But when the geometry is a black hole you never know :-) Am 2013-09-05 16:30, schrieb Stephen Woodbridge: Hi, This is a great idea. Regardless we should try to identify the case that is causing the crash and trap that. Mapserver should never crash as a general rule so finding the specific case is important so Thomas can reproduce it. If you have (or can load) the data in a database table, then it should be fairly easy to do a manual binary search to find the offending object by adding " where gid between and " to your query and adjusting the value of lower and upper to narrow the search to the problem object. Thanks, -Steve W On 9/5/2013 10:11 AM, Rahkonen Jukka wrote: Hi, Osm2pgsql can create invalid polygons with self-intersections and/or three-vertex A-B-A rings. It might be good to run MakeValid or simply find possibly invalid features with IsValid and delete them and then see if Mapserver gets happy. Actually, run IsValid and save the faulty geometries somewhere before correcting or deleting them. It would be nice to catch them if they happen to be the reason for the crash. -Jukka Rahkonen- Frank Broniewski wrote: Ok, this is weird. It is, as I know now, data source related. I was poking in the layer configuration to find out why the core dump happens. Reinstalling didn't solve the issue, btw. So first I converted the data to shapefile with ogr2ogr (as always very handy!) and changed the layer accordingly. And no core dump happened! Then I tried several versions of the data and filter statements without success. Since this is a osm2pgsql database I swapped finally the table from planet_osm_polygon to planet_osm_line (same table schema apart from the geometry) - and voilà - no core dump. So I can relate the problem to the planet_osm_polygon table - but I'm not sure what difference actually is responsible for the crash ... The most apparent difference is of course the geometry type: planet_osm_line is linestring, planet_osm_polygon is geometry ... I will investigate the attributes further tomorrow, but now I need to earn some money. It's always the deadlines ... Frank Am 2013-09-05 09:47, schrieb thomas bonfort: Frank, This is such a simple use-case that I doubt it's a bug in the code per-se. Can you make sure that you are using a clean build (make clean && make && make install) as I suspect this could be happening due to a compilation problem (as a rule of thumb, with mapserver <6.4, always run make clean after re-running
Re: [mapserver-users] Expression segmentation fault
Ok, maybe it does it when called in a resultset? I ran the mapfile with -all_debug 5 and the last two msPostGISLayerNextShape calls (without the geometry) are below: msPostGISLayerNextShape called. msPostGISReadShape called. msPostGISReadShape: PQgetlength = 0 msPostGISReadShape: [admin_level] "" msPostGISReadShape: Setting shape->index = -2371818 msPostGISReadShape: Setting shape->resultindex = 5640 msPostGISReadShape: [index] -2371818 msPostGISLayerNextShape called. msPostGISReadShape called. msPostGISReadShape: [shape] (null) The last msPostGISLayerNextShape stalls without further output and the the segmentation fault happens. Maybe I can find out if the [shape] (null) record in the DB is the same GEOMETRYCOLLECTION as already reported ... Dubious at least, Frank Am 2013-09-06 14:24, schrieb thomas bonfort: Does this feature in particular crash mapserver? On Fri, Sep 6, 2013 at 2:20 PM, Frank Broniewski wrote: Ok, so I did a little bit of geometry testing. Don't know why that should cause an expression crash, but well ... here's the query I ran on planet_osm_line and planet_osm_polygon in PostGIS: select osm_id, boundary, admin_level, tags, st_isvalid(way) as isvalid, st_isvalidreason(way) as reason, st_isclosed(way) as isclosed, st_isempty(way) as isempty, st_geometrytype(way) as geometrytype, st_length(way) as length, st_perimeter(way) as perimeter, st_numgeometries(way) as numgeometries, st_numinteriorrings(way) as numinteriorrings, st_astext(way) as wkt from planet_osm_polygon where way && st_transform(st_setsrid('BOX3D(0 0, 15 20)'::box3d, 2169), 3857) and tags ?& ARRAY['boundary', 'admin_level'] order by geometrytype, admin_level, name There's one record that differs from the rest in the planet_osm_polygon table. I've pasted the result below. It has a geometrytype of GEOMETRYCOLLECTION and is empty, so that may cause a crash ... 229382895;"administrative";"8";""area"=>"yes", "name"=>"RW 10", "boundary"=>"administrative", "admin_level"=>"8", "flood_prone"=>"no", "is_in:hamlet"=>"MENTENG DALAM", "is_in:district"=>"Jakarta Selatan", "is_in:province"=>"DKI Jakarta", "is_in:subdistrict"=>"TEBET"";t;"Valid Geometry";;t;"ST_GeometryCollection";0;0;0;;"GEOMETRYCOLLECTION EMPTY" The attributes confirm, that this record could be a remain of http://www.openstreetmap.org/browse/way/229382895 , but I really wonder why it gets caught in the bbox which should center around Luxembourg with parts of the surrounding countries. But when the geometry is a black hole you never know :-) Am 2013-09-05 16:30, schrieb Stephen Woodbridge: Hi, This is a great idea. Regardless we should try to identify the case that is causing the crash and trap that. Mapserver should never crash as a general rule so finding the specific case is important so Thomas can reproduce it. If you have (or can load) the data in a database table, then it should be fairly easy to do a manual binary search to find the offending object by adding " where gid between and " to your query and adjusting the value of lower and upper to narrow the search to the problem object. Thanks, -Steve W On 9/5/2013 10:11 AM, Rahkonen Jukka wrote: Hi, Osm2pgsql can create invalid polygons with self-intersections and/or three-vertex A-B-A rings. It might be good to run MakeValid or simply find possibly invalid features with IsValid and delete them and then see if Mapserver gets happy. Actually, run IsValid and save the faulty geometries somewhere before correcting or deleting them. It would be nice to catch them if they happen to be the reason for the crash. -Jukka Rahkonen- Frank Broniewski wrote: Ok, this is weird. It is, as I know now, data source related. I was poking in the layer configuration to find out why the core dump happens. Reinstalling didn't solve the issue, btw. So first I converted the data to shapefile with ogr2ogr (as always very handy!) and changed the layer accordingly. And no core dump happened! Then I tried several versions of the data and filter statements without success. Since this is a osm2pgsql database I swapped finally the table from planet_osm_polygon to planet_osm_line (same table schema apart from the geometry) - and voilà - no core dump. So I can relate the problem to the planet_osm_polygon table - but I'm not sure what difference actually is responsible for the crash ... The most apparent difference is of course the geometry type: planet_osm_line is linestring, planet_osm_polygon is geometry ... I will investigate the attributes further tomorrow, but now I need to earn some money. It's always the deadlines
Re: [mapserver-users] Expression segmentation fault
Hi Thomas, I tried your patch and it worked! Thanks alot. As requested, I've created an issue here [1]. I agree with you that this issue is a bit strange, because it only occurs when you use an expression with the layer, without the expression the segfault wouldn't happen ... thanks again, Frank [1] https://github.com/mapserver/mapserver/issues/4751 Am 2013-09-06 16:40, schrieb thomas bonfort: Frank, I'm able to reproduce this with a geometrycollection empty. What's strange is I was obliged to force postgis to return the feature, as the bounding box where clause was filtering it out and it was therefore never returned to mapserver. I'll come up with a patch soon, would you mind opening an issue for this please? thanks, thomas On Fri, Sep 6, 2013 at 2:20 PM, Frank Broniewski wrote: Ok, so I did a little bit of geometry testing. Don't know why that should cause an expression crash, but well ... here's the query I ran on planet_osm_line and planet_osm_polygon in PostGIS: select osm_id, boundary, admin_level, tags, st_isvalid(way) as isvalid, st_isvalidreason(way) as reason, st_isclosed(way) as isclosed, st_isempty(way) as isempty, st_geometrytype(way) as geometrytype, st_length(way) as length, st_perimeter(way) as perimeter, st_numgeometries(way) as numgeometries, st_numinteriorrings(way) as numinteriorrings, st_astext(way) as wkt from planet_osm_polygon where way && st_transform(st_setsrid('BOX3D(0 0, 15 20)'::box3d, 2169), 3857) and tags ?& ARRAY['boundary', 'admin_level'] order by geometrytype, admin_level, name There's one record that differs from the rest in the planet_osm_polygon table. I've pasted the result below. It has a geometrytype of GEOMETRYCOLLECTION and is empty, so that may cause a crash ... 229382895;"administrative";"8";""area"=>"yes", "name"=>"RW 10", "boundary"=>"administrative", "admin_level"=>"8", "flood_prone"=>"no", "is_in:hamlet"=>"MENTENG DALAM", "is_in:district"=>"Jakarta Selatan", "is_in:province"=>"DKI Jakarta", "is_in:subdistrict"=>"TEBET"";t;"Valid Geometry";;t;"ST_GeometryCollection";0;0;0;;"GEOMETRYCOLLECTION EMPTY" The attributes confirm, that this record could be a remain of http://www.openstreetmap.org/browse/way/229382895 , but I really wonder why it gets caught in the bbox which should center around Luxembourg with parts of the surrounding countries. But when the geometry is a black hole you never know :-) Am 2013-09-05 16:30, schrieb Stephen Woodbridge: Hi, This is a great idea. Regardless we should try to identify the case that is causing the crash and trap that. Mapserver should never crash as a general rule so finding the specific case is important so Thomas can reproduce it. If you have (or can load) the data in a database table, then it should be fairly easy to do a manual binary search to find the offending object by adding " where gid between and " to your query and adjusting the value of lower and upper to narrow the search to the problem object. Thanks, -Steve W On 9/5/2013 10:11 AM, Rahkonen Jukka wrote: Hi, Osm2pgsql can create invalid polygons with self-intersections and/or three-vertex A-B-A rings. It might be good to run MakeValid or simply find possibly invalid features with IsValid and delete them and then see if Mapserver gets happy. Actually, run IsValid and save the faulty geometries somewhere before correcting or deleting them. It would be nice to catch them if they happen to be the reason for the crash. -Jukka Rahkonen- Frank Broniewski wrote: Ok, this is weird. It is, as I know now, data source related. I was poking in the layer configuration to find out why the core dump happens. Reinstalling didn't solve the issue, btw. So first I converted the data to shapefile with ogr2ogr (as always very handy!) and changed the layer accordingly. And no core dump happened! Then I tried several versions of the data and filter statements without success. Since this is a osm2pgsql database I swapped finally the table from planet_osm_polygon to planet_osm_line (same table schema apart from the geometry) - and voilà - no core dump. So I can relate the problem to the planet_osm_polygon table - but I'm not sure what difference actually is responsible for the crash ... The most apparent difference is of course the geometry type: planet_osm_line is linestring, planet_osm_polygon is geometry ... I will investigate the attributes further tomorrow, but now I need to earn some money. It's always the deadlines ... Frank Am 2013-09-05 09:47, schrieb thomas bonfort: Frank, This is such a simple use-case that I doubt it's a b
Re: [mapserver-users] interpolation maps
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 I guess he means surface creation from point data, like the r.surf.* functions from GRASS - and no, that is afaik not possible with mapserver. But you could generate your map and save it as a tiff image and display that with mapserver. It could be possible to make something up with Python, mapscript and the GRASS Gis bindings - but that's probably too much hassle for what it's worth :D Frank Am 2013-11-12 06:57, schrieb Lime, Steve D (MNIT): > Maybe something like a heat map? > > From: > mapserver-users-boun...@lists.osgeo.org > [mapserver-users-boun...@lists.osgeo.org] on behalf of Stephen > Woodbridge [wood...@swoodbridge.com] Sent: Monday, November 11, > 2013 11:31 AM To: mapserver-users@lists.osgeo.org Subject: Re: > [mapserver-users] interpolation maps > > On 11/11/2013 12:02 PM, Icadedt wrote: >> hi, can mapserver create interpolation maps ? > > I'm not familiar with these, can you provide a little more detail > and what these are? > > Thanks, -Steve W > > ___ mapserver-users > mailing list mapserver-users@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapserver-users > > > ___ mapserver-users > mailing list mapserver-users@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapserver-users > - -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJSgdozAAoJEHopqW0d1cQVH7EIAIPbin+MddIuXw4UNcC4tLWt 28EUgJkkGWsTs6yv+17EjhI7HB/KkK3jPAxNFt2V8jhQmdCKi0F3S/7TrIt2rzhy O/zyGc/2rHoxucKv50dHTmmK3ccAeD16kd22sTg0bU19+4YYt8gQm5O8718yMZvd 0y2vsZFmAQQWGcmaCp6umzuyaVMxOIgy4XkdCkfmo6SJxaxSgqTdIarE12Il4jkS ayF6QfRHsFWO7m606jeBFif0uw07CaxZcy7LO1OApZFFWe/M7IK6Ydld5rRkrAgR 0WJulyyr+rdfYONM1xh0pmWMt26EcidGqXnPEovh+YcyHnjkcYb+rMUyDz1IR5k= =NjrU -END PGP SIGNATURE- ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Admin boundaries styling
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, I'm trying to get the styling right for administrative boundaries. The data source is a polygon shapefile with administrative boundaries of a certain level. I want to have a dashed line style to symbolize the boundary. The layer is used as TYPE LINE. The style I'm using: STYLE Color 100 100 100 Gap 4 Linecap butt Linejoin miter Linejoinmaxsize 3 Pattern 2 6 2 6 2 6 End Symbol "circle" Width 2 END Problem is that the pattern overlaps where a boundary is drawn more than once due to the shared nature of adjacent adminstrative units. Since the source is a shapefile there's no topology that would prevent the issue and my PostGis DB doesn't support that (yet)*. Here's a screenshot that displays the issue: http://www.geometrico.lu/devel/mapserver/boundary-styling.png As you can see the styling varies greatly. So - does anyone have a clue on how to get the styling right? It should look like in the lower right corner of the screenshot ... Many thanks, Frank * BTW: can Mapserver handle PostGIS topology geometry types? - -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJSsWOfAAoJEHopqW0d1cQVUjcH+wamQP8jJo8BzrX9JYp6mn2h rzbk4LYyH6Xf144dnJkfrt7G8eziABT0Zg/RDqE6trqkBGlPxO16wOFbIPunEAZC O+veftAYv4pyZbXKvAJF2yXW1L1P/OJNppRO3WnfkZGVDybsWecGkoowl0NdPBgL Ps4FLcVXhgNxpdOZpwgMMDOHs1VGVuZgRXx02SLm8lmzffnixSCuMUtL45Q9HBon 62SCRi/nJ1AYAMVC9+2PeRs4Uni+cIAMRS0nXeE988JcXvDmWsazKXZCwG9iuZhz WUOuIEpTg2wcH3zEemyHkxJnutW5ryUDCbF/u7cCiCgVHq+NesGEfVS6kWqGW2U= =Mm2w -END PGP SIGNATURE- ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Admin boundaries styling
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 I came up with a similar solution - I imported the shapefile into GRASS and exported the boundaries again as shapefile, but your solution is easier to handle. But I really wish there would be a mapserver-only solution. I am hesitatant to create files for visual reasons only ... Frank Am 2013-12-18 11:22, schrieb Rahkonen Jukka: > Hi, > > Would it be acceptable to create a new dataset for rendering the > borders by converting polygons into linestrings and merging the > overlapping segments? With OpenJUMP you cound do it with a single > operation Tools - Edit Geometry - Convert - Extract Segments. > Select option "Merge resulting segments" and you've done it. > > -Jukka Rahkonen- > > Frank Broniewski wrote: > >> Hi, >> >> I'm trying to get the styling right for administrative >> boundaries. The data source is a polygon shapefile with >> administrative boundaries of a certain level. I want to have a >> dashed line style to symbolize the boundary. The layer is used as >> TYPE LINE. >> >> >> The style I'm using: >> >> STYLE Color 100 100 100 Gap 4 Linecap butt Linejoin miter >> Linejoinmaxsize 3 Pattern 2 6 2 6 2 6 End Symbol "circle" Width >> 2 END >> >> Problem is that the pattern overlaps where a boundary is drawn >> more than once due to the shared nature of adjacent adminstrative >> units. Since the source is a shapefile there's no topology that >> would prevent the issue and my PostGis DB doesn't support that >> (yet)*. Here's a screenshot that displays the issue: >> http://www.geometrico.lu/devel/mapserver/boundary-styling.png As >> you can see the styling varies greatly. So - does anyone have a >> clue on how to get the styling right? It should look like in the >> lower right corner of the screenshot ... >> >> Many thanks, >> >> Frank >> >> >> * BTW: can Mapserver handle PostGIS topology geometry types? >> >> >> - -- Frank BRONIEWSKI >> >> METRICO s.à r.l. géomètres technologies d'information >> géographique rue des Romains 36 L-5433 NIEDERDONVEN >> >> tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 >> http://www.metrico.lu -BEGIN PGP SIGNATURE- Version: >> GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - >> http://www.enigmail.net/ >> >> iQEcBAEBAgAGBQJSsWOfAAoJEHopqW0d1cQVUjcH+wamQP8jJo8BzrX9JYp6mn >> 2h >> rzbk4LYyH6Xf144dnJkfrt7G8eziABT0Zg/RDqE6trqkBGlPxO16wOFbIPunEAZC >> O+veftAYv4pyZbXKvAJF2yXW1L1P/OJNppRO3WnfkZGVDybsWecGkoowl0NdPBg >> L Ps4FLcVXhgNxpdOZpwgMMDOHs1VGVuZgRXx02SLm8lmzffnixSCuMUtL45Q9HB >> on >> 62SCRi/nJ1AYAMVC9+2PeRs4Uni+cIAMRS0nXeE988JcXvDmWsazKXZCwG9iuZhz >> WUOuIEpTg2wcH3zEemyHkxJnutW5ryUDCbF/u7cCiCgVHq+NesGEfVS6kWqGW2 >> U= =Mm2w -END PGP SIGNATURE- >> ___ mapserver-users >> mailing list mapserver-users@lists.osgeo.org >> http://lists.osgeo.org/mailman/listinfo/mapserver-users - -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJSsXrPAAoJEHopqW0d1cQV3RgIAIHILIrDXZ7j3lTnpPVMEx69 +vh7eMNSWNnUp4EdJS1Ia0/xurHclijdJrZ1IN5klohsQFmv22ygdnOP+DSbN8fr N8bCeeZfIfbtTRGR467eFeNCdXg7A3aYEk1E1cJJitG8IP9riPh9zWWelPXk7qJP /r9/Of0vYowCoyxl+yu1V/V8mOD0Wp5aPe7wkGenEf2UvIp9FfmNUPSfHLzJOZKM x2ONp2wO7lhLj9AYHCb8h+jbIbWK4ywvLpjehxr3fS3JMRJscekbxI6hzJ32U7iF FpQxs2xYA0XjosZSAiMu6MnuObPnevRJVdIsycK0gkjHarcfIbeIv/E4HqBtmro= =ES4L -END PGP SIGNATURE- ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Admin boundaries styling
Yeah, that might be a solution. But I fear it might be mistaken as a signature for railways, but at least this would make the lines appear homogene. thanks, Frank Am 2013-12-18 15:18, schrieb Brent Fraser: > Frank, > > The best I've been able to do (with mapserv v5.6.5) is use two STYLE > blocks, one to render a white line and the other to render the dash: > >STYLE > SYMBOL 0 > WIDTH 2 > OUTLINECOLOR 255 255 255 >END >STYLE > SYMBOL 'dashed3' > WIDTH 2 > OUTLINECOLOR 150 150 150 >END > > The white STYLE renders over top any existing dash pattern from an > adjacent polygon. I've tried to make the white transparent but didn't > have any luck with that, but at least the grey dashes don't collide. > > Best Regards, > Brent Fraser > > On 12/18/2013 3:37 AM, Frank Broniewski wrote: > I came up with a similar solution - I imported the shapefile into > GRASS and exported the boundaries again as shapefile, but your > solution is easier to handle. But I really wish there would be a > mapserver-only solution. I am hesitatant to create files for visual > reasons only ... > > Frank > > Am 2013-12-18 11:22, schrieb Rahkonen Jukka: >>>> Hi, >>>> >>>> Would it be acceptable to create a new dataset for rendering the >>>> borders by converting polygons into linestrings and merging the >>>> overlapping segments? With OpenJUMP you cound do it with a single >>>> operation Tools - Edit Geometry - Convert - Extract Segments. >>>> Select option "Merge resulting segments" and you've done it. >>>> >>>> -Jukka Rahkonen- >>>> >>>> Frank Broniewski wrote: >>>> >>>>> Hi, >>>>> >>>>> I'm trying to get the styling right for administrative >>>>> boundaries. The data source is a polygon shapefile with >>>>> administrative boundaries of a certain level. I want to have a >>>>> dashed line style to symbolize the boundary. The layer is used as >>>>> TYPE LINE. >>>>> >>>>> >>>>> The style I'm using: >>>>> >>>>> STYLE Color 100 100 100 Gap 4 Linecap butt Linejoin miter >>>>> Linejoinmaxsize 3 Pattern 2 6 2 6 2 6 End Symbol "circle" Width >>>>> 2 END >>>>> >>>>> Problem is that the pattern overlaps where a boundary is drawn >>>>> more than once due to the shared nature of adjacent adminstrative >>>>> units. Since the source is a shapefile there's no topology that >>>>> would prevent the issue and my PostGis DB doesn't support that >>>>> (yet)*. Here's a screenshot that displays the issue: >>>>> http://www.geometrico.lu/devel/mapserver/boundary-styling.png As >>>>> you can see the styling varies greatly. So - does anyone have a >>>>> clue on how to get the styling right? It should look like in the >>>>> lower right corner of the screenshot ... >>>>> >>>>> Many thanks, >>>>> >>>>> Frank >>>>> >>>>> >>>>> * BTW: can Mapserver handle PostGIS topology geometry types? >>>>> >>>>> >>>>> - -- Frank BRONIEWSKI >>>>> >>>>> METRICO s.à r.l. géomètres technologies d'information >>>>> géographique rue des Romains 36 L-5433 NIEDERDONVEN >>>>> >>>>> tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 >>>>> http://www.metrico.lu >> ___ >> mapserver-users mailing list >> mapserver-users@lists.osgeo.org >> http://lists.osgeo.org/mailman/listinfo/mapserver-users > > > > -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] WMS SLD Troubles
Hello, We're using a OpenStreetMap Postgis database as a source for our geo-servers. We want to provide WMS and WFS services on the data. In order to do the styling only once, we are using SLDs, which works mostly fine. One of our layers does not render as a WMS, it throws a "msEvalRegex(): Regular expression error. String failed expression test." Error during execution. We identified the layer, and it's the one rendering post boxes. The corresponding SLD definition is using a filter: amenity post_office Using debug-level 5, the mapfile after SLD application looks like # ... # more definitions # ... CLASSITEM "amenity" DATA "nway FROM (SELECT way as nway, osm_id, amenity, name FROM planet_osm_point WHERE amenity='post_box' OR amenity='post_office' ) as foo using unique osm_id using SRID=900913" # ... # more definitions # ... CLASS NAME "Unknown" EXPRESSION ("[amenity]" = "post_box") STYLE ANGLE 360 COLOR 0 0 0 SIZE 40 SYMBOL "http://192.168.0.111:8502/sld/img/briefkasten.png"; WIDTH 1 END END We simply can't figure out, what might be the problem here. The whole issue seem to be related to the filter element, removing it makes the layer render. Using the generated map layer, rendering fails with the same error. So I would be happy if someone with more experience with SLDs can give me a hint about whats going wrong here. Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] WMS SLD Troubles
Hello, thank you for your kind help :-) I've put the requested informations below. Frank INFO: we're using /usr/lib/cgi-bin/mapserv -v MapServer version 5.6.6 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS SUPPORTS=RGBA_PNG INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE on Ubuntu 8.04 with the ubuntu-gis ppa. Original layer definition: LAYER NAME "post" STATUS Off CONNECTIONTYPE Postgis CONNECTION "host=localhost dbname=osm user= password= port=5432" DATA "nway FROM (SELECT way as nway, osm_id, amenity, name FROM planet_osm_point WHERE amenity='post_box' OR amenity='post_office' ) as foo using unique osm_id using SRID=900913" TYPE Point PROCESSING "CLOSE_CONNECTION=DEFER" CLASSITEM "amenity" DUMP true # --- # Projection configuration # --- INCLUDE "/usr/local/mapconf/share/projections/google.map" METADATA # lots of metadata END END the SLD: post Post amenity post_box http://192.168.0.111:8502/sld/img/briefkasten.png"; /> image/png 40 amenity post_office http://192.168.0.111:8502/sld/img/posthorn.png"; /> image/png 40 the generated map file: LAYER CLASSITEM "amenity" CONNECTION "host=localhost dbname=osm user= password= port=5432" CONNECTIONTYPE POSTGIS DATA "nway FROM (SELECT way as nway, osm_id, amenity, name FROM planet_osm_point WHERE amenity='post_box' OR amenity='post_office' ) as foo using unique osm_id using SRID=900913" DUMP TRUE METADATA # metadata END NAME "post" PROCESSING "CLOSE_CONNECTION=DEFER" PROJECTION "proj=merc" "a=6378137" "b=6378137" "lat_ts=0" "lon_0=0" "x_0=0" "y_0=0" "k=1" "nadgrids=@null" "units=m" "no_defs" END STATUS ON TYPE POINT UNITS METERS CLASS NAME "Unknown" EXPRESSION ("[amenity]" = "post_box") STYLE ANGLE 360 COLOR 0 0 0 SIZE 40 SYMBOL "http://192.168.0.111:8502/sld/img/briefkasten.png"; WIDTH 1 END END END Am 08.02.2011 15:57, schrieb Yewondwossen Assefa: What version of MapServer? Also, what is the part in the map file that is causing the problem: * if you remove the EXPRESSION ("[amenity]" = "post_box") from the generated map, will that work * Is the layer's FILTER element set (on the generated map)? If so what is the value? A full layer definition in the generated map would be useful. A full sld might also help. regards, On 07/02/2011 4:58 AM, Frank Broniewski wrote: Hello, We're using a OpenStreetMap Postgis database as a source for our geo-servers. We want to provide WMS and WFS services on the data. In order to do the styling only once, we are using SLDs, which works mostly fine. One of our layers does not render as a WMS, it throws a "msEvalRegex(): Regular expression error. String failed expression test." Error during execution. We identified the layer, and it's the one rendering post boxes. The corresponding SLD definition is using a filter: amenity post_office Using debug-level 5, the mapfile after SLD application looks like # ... # more definitions # ... CLASSITEM "amenity" DATA "nway FROM (SELECT way as nway, osm_id, amenity, name FROM planet_osm_point WHERE amenity='post_box' OR amenity='post_office' ) as foo using unique osm_id using SRID=900913" # ... # more defini
Re: [mapserver-users] WMS SLD Troubles
Ok, we've narrowed it down a bit. When we use the cgi-mapserver the SLD styling works, so the issue seems to be with (python) mapscript ... I will investigate further Frank Am 09.02.2011 09:18, schrieb Frank Broniewski: Hello, thank you for your kind help :-) I've put the requested informations below. Frank INFO: we're using /usr/lib/cgi-bin/mapserv -v MapServer version 5.6.6 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS SUPPORTS=RGBA_PNG INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE on Ubuntu 8.04 with the ubuntu-gis ppa. Original layer definition: LAYER NAME "post" STATUS Off CONNECTIONTYPE Postgis CONNECTION "host=localhost dbname=osm user= password= port=5432" DATA "nway FROM (SELECT way as nway, osm_id, amenity, name FROM planet_osm_point WHERE amenity='post_box' OR amenity='post_office' ) as foo using unique osm_id using SRID=900913" TYPE Point PROCESSING "CLOSE_CONNECTION=DEFER" CLASSITEM "amenity" DUMP true # --- # Projection configuration # --- INCLUDE "/usr/local/mapconf/share/projections/google.map" METADATA # lots of metadata END END the SLD: post Post amenity post_box http://192.168.0.111:8502/sld/img/briefkasten.png"; /> image/png 40 amenity post_office http://192.168.0.111:8502/sld/img/posthorn.png"; /> image/png 40 the generated map file: LAYER CLASSITEM "amenity" CONNECTION "host=localhost dbname=osm user= password= port=5432" CONNECTIONTYPE POSTGIS DATA "nway FROM (SELECT way as nway, osm_id, amenity, name FROM planet_osm_point WHERE amenity='post_box' OR amenity='post_office' ) as foo using unique osm_id using SRID=900913" DUMP TRUE METADATA # metadata END NAME "post" PROCESSING "CLOSE_CONNECTION=DEFER" PROJECTION "proj=merc" "a=6378137" "b=6378137" "lat_ts=0" "lon_0=0" "x_0=0" "y_0=0" "k=1" "nadgrids=@null" "units=m" "no_defs" END STATUS ON TYPE POINT UNITS METERS CLASS NAME "Unknown" EXPRESSION ("[amenity]" = "post_box") STYLE ANGLE 360 COLOR 0 0 0 SIZE 40 SYMBOL "http://192.168.0.111:8502/sld/img/briefkasten.png"; WIDTH 1 END END END Am 08.02.2011 15:57, schrieb Yewondwossen Assefa: What version of MapServer? Also, what is the part in the map file that is causing the problem: * if you remove the EXPRESSION ("[amenity]" = "post_box") from the generated map, will that work * Is the layer's FILTER element set (on the generated map)? If so what is the value? A full layer definition in the generated map would be useful. A full sld might also help. regards, On 07/02/2011 4:58 AM, Frank Broniewski wrote: Hello, We're using a OpenStreetMap Postgis database as a source for our geo-servers. We want to provide WMS and WFS services on the data. In order to do the styling only once, we are using SLDs, which works mostly fine. One of our layers does not render as a WMS, it throws a "msEvalRegex(): Regular expression error. String failed expression test." Error during execution. We identified the layer, and it's the one rendering post boxes. The corresponding SLD definition is using a filter: amenity post_office Using debug-level 5, the mapfile after SLD application looks like # ... # more definitions # ... CLASSITEM "amenity" DATA "nway FROM (SELECT way as nway, osm_id, amenity, name FROM planet_osm_point WHERE amenity='post_box' OR amenity='post_office' ) as foo using unique osm_id using SRID=900913" # ... # more definitions # ... CLASS NAME "Unknown" EXPRESSION ("[amenity]" = "post_box") STYLE ANGLE 360 COLOR 0 0 0 SIZE 40 SYMBOL "http://192.168.0.111:8502/sld/img/briefkasten.png"; WIDTH 1 END END We simply can't figure out, what might be the problem here. The whole issue seem to be related to the filter element, removing it makes the layer render. Using the generated map layer, rendering fails with the same error. So I would be happy if someone with more experience with SLDs can give me a hint about whats going wrong here. Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] WMS SLD Troubles
Ok, I've found a problem with the parsing of OWSRequest.setParameter() My code: ... elif request.method == 'GET': logging.debug("%s: Request method is GET" % datetime.datetime.now()) for key, value in request.args.items(): if key.lower() == 'sld': logging.debug("%s: Escaping %s" % (datetime.datetime.now(), key)) logging.debug("%s: Value is %s" % (datetime.datetime.now(), value)) value = urllib.quote_plus(value) g.ows_request.setParameter(key, value) if key.lower() == 'sld': value = g.ows_request.getValueByName(key) logging.debug("%s: Loaded Param %s" % (datetime.datetime.now(), value)) mapscript.msIO_installStdoutToBuffer() success = g.ows_map.OWSDispatch(g.ows_request) ... What I'm basically doing here is setting the request parameters with setParameter on the ows_reqeuest object. When there is _no_ sld parameter in the request, escaping is not necessary. Once there is a sld request parameter, mapscript crashes when doing setParameter('SLD', 'http://192.168.0.111:8502/sld/style.sld') [Fri Feb 11 11:10:32 2011] [error] [client 192.168.0.2] success = g.ows_map.OWSDispatch(g.ows_request) [Fri Feb 11 11:10:32 2011] [error] [client 192.168.0.2] File "/usr/lib/python2.5/site-packages/mapscript.py", line 1515, in OWSDispatch [Fri Feb 11 11:10:32 2011] [error] [client 192.168.0.2] def OWSDispatch(*args): return _mapscript.mapObj_OWSDispatch(*args) [Fri Feb 11 11:10:32 2011] [error] [client 192.168.0.2] MapServerError: msEvalRegex(): Regular expression error. String failed expression test. [Fri Feb 11 11:10:32 2011] [error] [client 192.168.0.2] msEvalRegex(): Regular expression error. String failed expression test. Using urllib.quote_plus I escaped the SLD URL back to a web representation and set it with setParameter. SLD=http%3A%2F%2F192.168.0.111%3A8502%2Fsld%2Fstyle.sld request.args: Key: SLD Value: http://192.168.0.111:8502/sld/style.sld Quoted Value: http%3A%2F%2F192.168.0.111%3A8502%2Fsld%2Fstyle.sld Loaded Param http%3A%2F%2F192.168.0.111%3A8502%2Fsld%2Fstyle.sld Unfortunately quoting does not help, but the error this time is less clear than the one before: [Fri Feb 11 11:11:51 2011] [error] [client 192.168.0.2] Premature end of script headers: gishosting.wsgi the mapserver error log (debug 5) shows also no entry, so I am completely clueless what's going wrong here. Does someone have a clue whats going on there? Datasource is a Postgis database (OpenStreetMap data) which works without the SLD parameter. System is a Ubuntu Hardy 8.04 with the deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu hardy main deb-src http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu hardy main sources /usr/lib/cgi-bin/mapserv -v MapServer version 5.6.6 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS SUPPORTS=RGBA_PNG INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE dpkg -l ||/ Name VersionDescription +++-==-==- ii apache22.2.8-1ubuntu0 Next generation, scalable, extendable web se ii python-mapscri 5.6.6-2~hardy1 Python library for MapServer ii mapserver-bin 5.6.6-2~hardy1 MapServer utilities ii cgi-mapserver 5.6.6-2~hardy1 CGI executable for MapServer Python 2.5.2 (r252:60911, Jan 20 2010, 23:14:04) And self compiled libapache2-mod-wsgi Frank Am 10.02.2011 15:00, schrieb Frank Broniewski: Ok, we've narrowed it down a bit. When we use the cgi-mapserver the SLD styling works, so the issue seems to be with (python) mapscript ... I will investigate further Frank Am 09.02.2011 09:18, schrieb Frank Broniewski: Hello, thank you for your kind help :-) I've put the requested informations below. Frank INFO: we're using /usr/lib/cgi-bin/mapserv -v MapServer version 5.6.6 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS SUPPORTS=RGBA_PNG INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE on Ubuntu 8.04 with the ubuntu-gis ppa. Original layer definition: LAYER NAME "post" STATUS Off CONNECTIONTYPE Postgis CONNECTION "host=localhost dbname=osm user= password= port=5432" DATA "nway
Re: [mapserver-users] WMS SLD Troubles
Thank you for the information. I will have a look and see what I can find out. I hesitate to compile mapscript by myself, I like my package manager ;-) Frank Am 14.02.2011 11:58, schrieb Eichner, Andreas - SID-NLKM: Hi, it looks like the Python MapScript module is compiled against a different regex libary than the Python interpreter uses. The "premature end of script headers" is usually caused by a SIGSEGV where the script gets killed before being able to send any headers. I would suggest to build python-mapscript on your own. HTH -Ursprüngliche Nachricht- Von: mapserver-users-boun...@lists.osgeo.org [mailto:mapserver-users-boun...@lists.osgeo.org] Im Auftrag von Frank Broniewski Gesendet: Freitag, 11. Februar 2011 10:30 An: mapserver-users@lists.osgeo.org Betreff: Re: [mapserver-users] WMS SLD Troubles Ok, I've found a problem with the parsing of OWSRequest.setParameter() My code: ... elif request.method == 'GET': logging.debug("%s: Request method is GET" % datetime.datetime.now()) for key, value in request.args.items(): if key.lower() == 'sld': logging.debug("%s: Escaping %s" % (datetime.datetime.now(), key)) logging.debug("%s: Value is %s" % (datetime.datetime.now(), value)) value = urllib.quote_plus(value) g.ows_request.setParameter(key, value) if key.lower() == 'sld': value = g.ows_request.getValueByName(key) logging.debug("%s: Loaded Param %s" % (datetime.datetime.now(), value)) mapscript.msIO_installStdoutToBuffer() success = g.ows_map.OWSDispatch(g.ows_request) ... What I'm basically doing here is setting the request parameters with setParameter on the ows_reqeuest object. When there is _no_ sld parameter in the request, escaping is not necessary. Once there is a sld request parameter, mapscript crashes when doing setParameter('SLD', 'http://192.168.0.111:8502/sld/style.sld') [Fri Feb 11 11:10:32 2011] [error] [client 192.168.0.2] success = g.ows_map.OWSDispatch(g.ows_request) [Fri Feb 11 11:10:32 2011] [error] [client 192.168.0.2] File "/usr/lib/python2.5/site-packages/mapscript.py", line 1515, in OWSDispatch [Fri Feb 11 11:10:32 2011] [error] [client 192.168.0.2] def OWSDispatch(*args): return _mapscript.mapObj_OWSDispatch(*args) [Fri Feb 11 11:10:32 2011] [error] [client 192.168.0.2] MapServerError: msEvalRegex(): Regular expression error. String failed expression test. [Fri Feb 11 11:10:32 2011] [error] [client 192.168.0.2] msEvalRegex(): Regular expression error. String failed expression test. Using urllib.quote_plus I escaped the SLD URL back to a web representation and set it with setParameter. SLD=http%3A%2F%2F192.168.0.111%3A8502%2Fsld%2Fstyle.sld request.args: Key: SLD Value: http://192.168.0.111:8502/sld/style.sld Quoted Value: http%3A%2F%2F192.168.0.111%3A8502%2Fsld%2Fstyle.sld Loaded Param http%3A%2F%2F192.168.0.111%3A8502%2Fsld%2Fstyle.sld Unfortunately quoting does not help, but the error this time is less clear than the one before: [Fri Feb 11 11:11:51 2011] [error] [client 192.168.0.2] Premature end of script headers: gishosting.wsgi the mapserver error log (debug 5) shows also no entry, so I am completely clueless what's going wrong here. Does someone have a clue whats going on there? Datasource is a Postgis database (OpenStreetMap data) which works without the SLD parameter. System is a Ubuntu Hardy 8.04 with the deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu hardy main deb-src http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu hardy main sources /usr/lib/cgi-bin/mapserv -v MapServer version 5.6.6 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS SUPPORTS=RGBA_PNG INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE dpkg -l ||/ Name VersionDescription +++-==-==- ii apache22.2.8-1ubuntu0 Next generation, scalable, extendable web se ii python-mapscri 5.6.6-2~hardy1 Python library for MapServer ii mapserver-bin 5.6.6-2~hardy1 MapServer utilities ii cgi-mapserver 5.6.6-2~hardy1 CGI executable for MapServer Python 2.5.2 (r252:60911, Jan 20 2010, 23:14:04) And self compiled libapache2-mod-wsgi Frank Am 10.02.2011 15:00, schrieb Frank Broniewski: Ok, we've narrowed it down a bit. When we use the cgi-mapserver the SLD styling works, so the issue seems to be with (python) mapscript ... I will investigate further Frank
[mapserver-users] mapscript: read GeoJSON
Hi, what would be the best way to read a geojson feature/featurecollection with mapscript? My goal is to query a map by a feature which comes as geojson. Of course it's not too hard to parse the geojson into a mapserver geometry object (pointObj, lineObj, ...). But if there's already a best practice (with the aid of other libraries, like ogr, shapely maybe?), I'd be happy to apply this one. Many thanks Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] MsJSON Mapfile to JSON converter
Hi all, I developed a Mapfile to JSON converter for a current project and I want to share the software with the community. The MsJSON converter uses mapscript and Python to do the conversion, so these are a requirement for the usage. MsJSON is released under LGPL license. I've tested the converter so far under Python 2.5 and 2.6 on Debian Squeeze and Ubuntu Hardy Heron with mapscript 5.6.5 (Debian) and mapscript 6.0.0 (Ubuntu (UbuntuGIS repo)). Unfortunately my OSGeo4W installation gives me an DLL error on loading mapscript, so I cannot test that for now. But I expect that there will be problems on other systems and mapscript versions, so please consider the software as beta until I can do more tests. But it *should* work at least a little bit on some systems ;-) Concerning tests, there's a test directory in the package, and if you've got nose installed you can test the software on your system before installing it. Simply run `nosetests` in the project directory. The package also comes with the html documentation. You can obtain the software from pypi[1] or from bitbucket[2] and there's also the documentation[3]! I hope you find this little piece of software useful like I have found Mapserver and the community around it very useful. At the moment the converter is not 100% feature complete as it lacks the conversion of some mapfile definitions. This is sometimes due to mapscript itself (e.g. map.outputformatlist) or because I have not added the concerned parameter to the converter yet. The bitbucket page has an issues section where I want to catch any issues I or someone else encounters. Any feedback is welcome :-) Frank [1] http://pypi.python.org/pypi/msjson/ [2] https://bitbucket.org/frankbroniewski/msjson/ [3] http://www.gis-hosting.lu/static/msjson/ -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] layer.dump not saved with mapscript
Hi, I have noticed a possible bug with mapscript. The value of layer.dump gets not saved in version 6 to the map file, which used to work in 5.6.5. Please see the following examples: Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import mapscript >>> mapscript.msGetVersion() 'MapServer version 5.6.5 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS SUPPORTS=RGBA_PNG INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE' >>> m = mapscript.mapObj() >>> l = mapscript.layerObj() >>> l.dump = mapscript.MS_TRUE >>> m.insertLayer(l) 0 >>> m.save('/home/brfr/test.map') 0 creates a layer as follows: 76 LAYER 77 DUMP TRUE 78 NAME "(null)" 79 STATUS OFF 80 UNITS METERS 81 END while: Python 2.5.2 (r252:60911, Jan 20 2010, 23:14:04) [GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import mapscript >>> mapscript.msGetVersion() 'MapServer version 6.0.1 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=CAIRO SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE' >>> m = mapscript.mapObj() >>> l = mapscript.layerObj() >>> l.dump = mapscript.MS_TRUE >>> m.insertLayer(l) 0 >>> m.save('/home/brfr/test.map') 0 creates a layer as follows: LAYER STATUS OFF TILEITEM "location" UNITS METERS END # LAYER Dump is still in the docs as a valid parameter, so I presume the behaviour is not wanted. The above examples are only that, examples. I discovered the behaviour with a working mapfile ... Can someone else confirm this? Or is it only me? Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] layer.dump not saved with mapscript
thanks for the hint, Daniel. I was guessing in that direction, but wasn't sure about the consequences. Frank Am 29.09.2011 14:06, schrieb Daniel Morissette: The DUMP keyword has been made obsolete by the mechanism introduced in RFC-67 (http://mapserver.org/es/development/rfc/ms-rfc-67.html) to enable/disable OGC requests at the mapfile and layer level. It seems that we failed to document this change in the migration guide and to update the docs accordingly. I have reopened ticket #3830 about the docs update: http://trac.osgeo.org/mapserver/ticket/3830 Daniel On 11-09-29 05:48 AM, Frank Broniewski wrote: Hi, I have noticed a possible bug with mapscript. The value of layer.dump gets not saved in version 6 to the map file, which used to work in 5.6.5. Please see the following examples: Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import mapscript >>> mapscript.msGetVersion() 'MapServer version 5.6.5 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS SUPPORTS=RGBA_PNG INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE' >>> m = mapscript.mapObj() >>> l = mapscript.layerObj() >>> l.dump = mapscript.MS_TRUE >>> m.insertLayer(l) 0 >>> m.save('/home/brfr/test.map') 0 creates a layer as follows: 76 LAYER 77 DUMP TRUE 78 NAME "(null)" 79 STATUS OFF 80 UNITS METERS 81 END while: Python 2.5.2 (r252:60911, Jan 20 2010, 23:14:04) [GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import mapscript >>> mapscript.msGetVersion() 'MapServer version 6.0.1 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=CAIRO SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE' >>> m = mapscript.mapObj() >>> l = mapscript.layerObj() >>> l.dump = mapscript.MS_TRUE >>> m.insertLayer(l) 0 >>> m.save('/home/brfr/test.map') 0 creates a layer as follows: LAYER STATUS OFF TILEITEM "location" UNITS METERS END # LAYER Dump is still in the docs as a valid parameter, so I presume the behaviour is not wanted. The above examples are only that, examples. I discovered the behaviour with a working mapfile ... Can someone else confirm this? Or is it only me? Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] How to remove the label of a class with mapscript
Hi, how can I remove the label of a class with mapscript, or disable labeling? Doing this by hand, I would simply delete the label definition part in the mapfile but apparently this is not possible with mapscript since the label property is immutable .. Thanks for any hints Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] How to remove the label of a class with mapscript
Evidently *facepalm*, thanks. sometimes I don't see the forest because of so many trees :D (or whatever one says in english when you don't see the evident) Frank Am 29.09.2011 16:35, schrieb thomas bonfort: remove the layer->labelitem and label->text -- thomas On Thu, Sep 29, 2011 at 16:33, Frank Broniewski wrote: Hi, how can I remove the label of a class with mapscript, or disable labeling? Doing this by hand, I would simply delete the label definition part in the mapfile but apparently this is not possible with mapscript since the label property is immutable .. Thanks for any hints Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] MapServer Apache httpd.conf
Am 30.11.2011 23:38, schrieb Puneet Kishor: On Nov 30, 2011, at 4:25 PM, Eric Weisbender wrote: Hello, Does anyone have a good example of an Apache httpd.conf file working well with MapServer on a unix system that they would be willing to share. assuming you are using MapServer as a cgi program, you need nothing more than ScriptAlias /cgi-bin/ "/path/to/cgi-bin/" AllowOverride None Options None Order allow,deny Allow from all adjust the `AllowOverride` directive as required. -- Puneet Kishor___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users Hi Eric, mine's ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ Allow from all Options +ExecCGI for Ubuntu (8.04) HTH Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] how generate web part of mapfile with python mapscript
Am 01.12.2011 13:43, schrieb Tonton: hello i try this awebdef = mapscript.webObj() awebdef.maxscaledenom = 155 awebdef.minscaledenom = 1000 awebdef.imagepath="/var/www/path/" awebdef.imageurl="../tmp/" awebdef.metadata = mapscript.hashTableObj() awebdef.metadata.set("ows_TITLE", atitle) mapServerUrl = u.sitepath_prm mapfilepath = u.mapfilepath_prm awebdef.metadata.set("ows_ONLINERESOURCE", mapServerUrl+"map="+mapfilepath+layer.name_lyr+".map") awebdef.metadata.set("owsAbstract" , layer.libel_lyr) awebdef.metadata.set("owsSrs", "EPSG:"+str(projection)) awebdef.log = "../tmp/web.log" amapfile.web = awebdef but the result still this in my mapfile WEB END # WEB someone knows why may be T. ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users Hi a new web object has already a metadata attribute "prebuild", so you don't need to create a new one. Just set the properties on the metadata: web.metadata.set('foo', 'bar'), or even shorter: map_obj.web.metadata.set('foo', 'bar') hth Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Clustering based on a classified column
Hy, I just had the same idea as you, Stephan, to cluster features based on attribute values. I think your expression fails because "1" != 1, so basically you can't do maths (<>) with the Cluster:FeatureCount, just String comparisons. Actually I don't understand the reason why that is so. Imo ClusterFeatureCount should return a number, not a String. Frank Am 20.10.2011 10:36, schrieb Stephan Holl: Hello Tamas, thanks for you reply. Tamas Szekeres, [20111019 - 19:04:22] I'm not sure exactly what you would like to achieve. Sorry, let my show an example to make it clear: I have a classified layer based on the following CLASSES CLASS NAME "bar" EXPRESSION ('[typ]'='bar') STYLE SYMBOL "bar" END END CLASS NAME "foo" EXPRESSION ('[typ]'='foo') STYLE SYMBOL "foo" END END ... more CLASSes As you see, they are classified by the values of the column [typ]. What I want to achieve is adding a label (with the Cluster:FeatureCount as text) if the different classes have more identical attributes within the MAXDISTANCE. What I currently do is adding another CLASS: LABELITEM "Cluster:FeatureCount" CLASS NAME "Clustered foo" EXPRESSION ("[Cluster:FeatureCount]"> "1"&& '[typ]'='foo') STYLE SYMBOL "foo" END STYLE SIZE 20 OFFSET 15 15 SYMBOL "circle" COLOR 255 0 0 END LABEL FONT freesans TYPE TRUETYPE SIZE 10 COLOR 255 255 255 OFFSET 15 15 ALIGN CENTER PRIORITY 10 BUFFER 1 PARTIALS TRUE POSITION cc END END CLASS NAME "foo" EXPRESSION ('[typ]'='foo') STYLE SYMBOL "foo" END END ... more CLASSes The problem of the above is, that I have to include the SYMBOL 'foo' also in the clustered CLASS, because the normal SYMBOL does not show up (because it is not there since it is clustered now...). But: I have to do that for all classes I have currently (about 25). My thinking was about a dynamic classification and clustering based on the attributes of a specific column ([typ]), but I cannot make it work. Does this make more sense to you now? The GROUP setting specifies which features may belong to the same cluster. This setting can be an expression (including the feature attributes) which evaluates to a string value. Features with different group string value are not used within the same cluster. The FILTER setting can also be an expression (including the feature attributes or the aggregated attributes) which evaluates to a boolean value. This boolean determines whether the particular shapes should be filtered out or not in the clustering process. Thanks for your clarification, this is helpful for my understanding. You can continue to use the CLASSITEM setting or class EXPRESSION (including the aggregated attributes, like Cluster:FeatureCount in the expressions) to control which class is used to display a particular clustered shape. What do you mean by validation in the GROUP or FILTER expressions? Does my above example more sense to you? Best Stephan 2011/10/19 Stephan Holl Dear mapservers, I am playing arround with the CLUSTER-directive and I am going fine. Though there are some questions left I cannot answer by myself and the documentation. Is it possible to cluster a POINT layer based on a specific attribute columns? THis column is the basis of the classification of the layer. What I want to achive is adding a label to each CLASS if the Cluster:FeatureCount is> 1. The docs do not make it clear for me if CLUSTER:GROUP or CLUSTER:FILTER is the correct stuff. Neither of them work during tests. Could someone tell me if this could be done with the CLUSTERing? And the bonus-question: if this is possible, are validation-pattern taken into account within GROUP or FILTER? Looking forward to your suggestions. TIA Best regards Stephan -- Stephan Holl | Tel.: +49 (0)541-33 508 3663 Intevation GmbH, Neuer Graben 17, 49074 OS | AG Osnabrück - HR B 18998 Geschäftsführer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] WMS Overlay shift
Hello list, I am debugging a problem with my WMS server. I am serving administrational boundaries in a national reference system for use in different applications. Just yesterday I noticed a shift of the WMS layer to the east when I overlay the WMS layer with the original shapefile in ArcGIS. The shift is approx. 29m and I have no clue where to start looking for a solution. There is only one projection in the mapfile, and I set the view in ArcGis to the same projection. I checked the projection definition in ArcGis already to see if there is some mismatch but I couldn't find any. So I am rather clueless where to start looking for the reason of the shift. I checked also in OpenJump to see wether this is an ESRI effect, but there is the same shift in OpenJump Any hints are welcome ... Frank ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] WMS Overlay shift
Thanks for the answers, finally I found the reason. I had an additional towgs parameter set in the layers projection block. Don't remember why I put it there, but it was causing the shift. I am using init=epsg:2169 as projection definition now as the only projection definition in the maps projection block and things are in place. On Friday 05 June 2009 11:09:08 Milo van der Linden wrote: > Hello Frank, > > The shift probably has to do with the reference ellipsoid, If it is not > defined explicitly in the projection BUT is different from wgs84 you > should define the towgs parameter. > > You can check out a mail discussion describing a wgs84 ellipsoid shift > issue here: > http://postgis.refractions.net/pipermail/postgis-users/2006-October/013571. >html > > perhaps it will clear things. > > You can also check out map projections used in germany in more detail here: > http://www.mapref.org/MapProjectionsDE.html > > It may also help if you post your proj4 string or the EPSG code you use > so we can see the difference. > > Frank Broniewski wrote: > > Hello list, > > > > I am debugging a problem with my WMS server. I am serving > > administrational boundaries in a national reference system for use in > > different applications. > > > > Just yesterday I noticed a shift of the WMS layer to the east when I > > overlay the WMS layer with the original shapefile in ArcGIS. The shift is > > approx. 29m and I have no clue where to start looking for a solution. > > > > There is only one projection in the mapfile, and I set the view in ArcGis > > to the same projection. I checked the projection definition in ArcGis > > already to see if there is some mismatch but I couldn't find any. So I am > > rather clueless where to start looking for the reason of the shift. > > > > I checked also in OpenJump to see wether this is an ESRI effect, but > > there is the same shift in OpenJump > > > > Any hints are welcome ... > > > > Frank > > ___ > > mapserver-users mailing list > > mapserver-users@lists.osgeo.org > > http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] best practice: map data structure
Hello List, I want to migrate our old server to a new one, and I want to replace the somewhat grown map data folder and file mess into something more structured. Therefore I am looking for some advice on how to organize the Filesystem Hierarchy. Sure somehow its always a matter of taste and need, but maybe you have some comments on my proposed structure. I browsed already the mailing list archives and the documentation on the mapserver site but did not find any related infos, but I am willing to summarize this thread into a howto document if something useful comes up. I will be using a linux server, so the structure will reflect the unix filesystem hierarchy to a certain degree. A good starting point seems to be /usr/local/ to me. /usr/local/mapdata/ for storing raster and vector files /usr/local/mapfiles/ for mapfiles and other config files You would have /usr/local/mapdata/CLIENTDIR/vector and /usr/local/mapdata/CLIENTDIR/raster for client specific map data similar to /usr/local/mapdata/PROJECTDIR/... for project data and /usr/local/mapdata/share/vector & /usr/local/mapdata/share/raster for shared map data (srtm topo maps e.g.) A good structure for mapfiles & co would be: /mapfile.map /fonts/ - font config and font files (ttf) /icons/ - icon files (png, ...) /symbols/ - symbol.map /templates/ - template files This structure could be mapped to /usr/local/mapfiles/share/... or /usr/local/mapfiles/CLIENTDIR/... I would really appreciate any comments and shared experience on this ... Listing: /usr/local/mapdata/ /usr/local/mapdata/share/ /usr/local/mapdata/share/raster/ /usr/local/mapdata/share/raster/topo20/ /usr/local/mapdata/share/raster/topo20/01.tif /usr/local/mapdata/share/raster/topo20/... /usr/local/mapdata/share/raster/topo20/99.tif /usr/local/mapdata/share/raster/topo20/tileindex.shp /usr/local/mapdata/share/vector/ /usr/local/mapdata/share/vector/streetnetwork/ /usr/local/mapdata/share/vector/streetnetwork/streets.shp /usr/local/mapdata/CLIENT/raster/ /usr/local/mapdata/CLIENT/raster/ortho/ /usr/local/mapdata/CLIENT/raster/ortho/01.tif /usr/local/mapdata/CLIENT/raster/ortho/... /usr/local/mapdata/CLIENT/raster/ortho/99.tif /usr/local/mapdata/CLIENT/raster/ortho/tileindex.shp /usr/local/mapdata/CLIENT/vector/ /usr/local/mapdata/CLIENT/vector/cad/contours.shp /usr/local/mapdata/PROJECT/raster/ /usr/local/mapdata/PROJECT/raster/climate/ /usr/local/mapdata/PROJECT/raster/climate/precipitation.tif /usr/local/mapdata/PROJECT/vector/ /usr/local/mapdata/PROJECT/vector/archeology-sites.shp /usr/local/mapfiles/ /usr/local/mapfiles/share/ /usr/local/mapfiles/share/mapfile.map /usr/local/mapfiles/share/fonts/ /usr/local/mapfiles/share/icons/ /usr/local/mapfiles/share/symbols/ /usr/local/mapfiles/share/templates/ /usr/local/mapfiles/CLIENT/ /usr/local/mapfiles/CLIENT/mapfile.map /usr/local/mapfiles/CLIENT/fonts/ /usr/local/mapfiles/CLIENT/icons/ /usr/local/mapfiles/CLIENT/symbols/ /usr/local/mapfiles/CLIENT/templates/ /usr/local/mapfiles/PROJECT/mapfile.map /usr/local/mapfiles/PROJECT/fonts/ /usr/local/mapfiles/PROJECT/icons/ /usr/local/mapfiles/PROJECT/symbols/ /usr/local/mapfiles/PROJECT/templates/ ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] best practice: map data structure
Hi Dan, thanks for your response. Using includes for the layers is a nice idea, and it keeps the layer data and configuration together. And you'd get a good overview over all avail. layers on your server just by looking at the existing. directories. Even postgis layers would have a directory since the layers mapfile would be stored there. And you could have several "stylesheet" layer map files in the directory ... And in an application directory you could include all the layers necessary for the application in a master mapfile. Do you have experience in using lots of includes within a mapfile? I remember using includes for about 30 layers in an php application (pmapper) once (v4.10 on ubuntu 7.10) and I run into problems. namely there where too many open files opened by apache and the mapserver process. It seemed, that the includes weren't closed, and each time the map was redrawn, the includes where opened again and so the file system limit of max. open files was reached quite soon. On Saturday 27 June 2009 17:08:35 Dan Little wrote: > It is very dependent on your needs. For example, if you have departments > responsible for various layers you may want to divide the structure by > that, if there is only one administrator then that isn't necessary. > > Typically, if there is only one administrator I tend to do something like > this... > > [root]/ -- make this whatever you want and that makes sense from a > permissions and storage stand point for your new server. > > for a simple shapefile layer... > [root]/layer_a/layer_a.map > [root]/layer_a/layer_a.[shp|dbf|shx] > > for a tree'd shapfile > [root]/layer_b/layer_b.map > [root]/layer_b/layer_b.[shp|dbf|shx] > [root]/layer_b/data/[... quad tree goes here ...] > > for a raster... > [root]/layer_c/layer_c.map > [root]/layer_c/raster/[... raster data ...] > > Then you can use mapserver includes to include the proper mapfile fragments > into an applications various mapfiles. > > - Original Message > > > From: Frank Broniewski > > To: mapserver-users@lists.osgeo.org > > Sent: Friday, June 26, 2009 8:43:05 AM > > Subject: [mapserver-users] best practice: map data structure > > > > Hello List, > > > > I want to migrate our old server to a new one, and I want to replace the > > somewhat grown map data folder and file mess into something more > > structured. Therefore I am looking for some advice on how to organize the > > Filesystem Hierarchy. Sure somehow its always a matter of taste and need, > > but maybe you have some comments on my proposed structure. > > > > I browsed already the mailing list archives and the documentation on the > > mapserver site but did not find any related infos, but I am willing to > > summarize this thread into a howto document if something useful comes up. > > > > I will be using a linux server, so the structure will reflect the unix > > filesystem hierarchy to a certain degree. > > > > A good starting point seems to be /usr/local/ to me. > > > > /usr/local/mapdata/ for storing raster and vector files > > /usr/local/mapfiles/ for mapfiles and other config files > > > > You would have /usr/local/mapdata/CLIENTDIR/vector and > > /usr/local/mapdata/CLIENTDIR/raster for client specific map data > > similar to > > /usr/local/mapdata/PROJECTDIR/... for project data > > > > and /usr/local/mapdata/share/vector & /usr/local/mapdata/share/raster for > > shared map data (srtm topo maps e.g.) > > > > A good structure for mapfiles & co would be: > > /mapfile.map > > /fonts/ - font config and font files (ttf) > > /icons/ - icon files (png, ...) > > /symbols/ - symbol.map > > /templates/ - template files > > > > This structure could be mapped to > > /usr/local/mapfiles/share/... > > or > > /usr/local/mapfiles/CLIENTDIR/... > > > > I would really appreciate any comments and shared experience on this ... > > > > Listing: > > > > /usr/local/mapdata/ > > /usr/local/mapdata/share/ > > /usr/local/mapdata/share/raster/ > > /usr/local/mapdata/share/raster/topo20/ > > /usr/local/mapdata/share/raster/topo20/01.tif > > /usr/local/mapdata/share/raster/topo20/... > > /usr/local/mapdata/share/raster/topo20/99.tif > > /usr/local/mapdata/share/raster/topo20/tileindex.shp > > /usr/local/mapdata/share/vector/ > > /usr/local/mapdata/share/vector/streetnetwork/ > > /usr/local/mapdata/share/vector/streetnetwork/streets.shp > > /usr/local/mapdata/CLIENT/raster/ > > /usr/local/mapdata/CLIENT/raster/ortho/ > > /usr/local/mapdata/CLIENT/raster/ortho/
[mapserver-users] mapfile and data encoding
Hello list, unfortunately I have to work with data in different encodings. Most of my data is in UTF-8 in a Postgis Database, so I decided to go with the mapfile encoding in UTF-8 as well. Some shapefiles I have are in windows-1252 or iso-8859-1 and have of course special characters in some fields. And I need to filter the data on these fields. So my question is: can I somehow escape the special characters to iso-8859-1 in my utf-8 mapfile so that the expression matches the data in the shapefile? Because right now I get a blank map. Obviously simply using the character "as is" in the mapfile does not work. I tried creating the character in iso-8859-1 in the console but I only get a diamond with a question mark in it and this doesn't work neither. I found out that the sequence for é is 0xc3a9 but I don't know what to do with that information ... Many thanks Frank ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] OWSRequest raw post data
Hello list, I am wondering how I could load / pass a raw post body to the owsrequest object. GET is simply done with setParameter. I see that there is a postrequest attribute for the owsrequest object, but there is no documentation for it. Can I set it manually? I am using a WSGI Framework and the documented req.loadParams() function does not work with it. Or is there a parameter 'post' or 'xml' which I can set with the raw post data with setParameter()? Many Thanks Frank -- Frank Broniewski Metrico s.àr.l. ( http://www.metrico.lu ) 36, rue des Romains L-5433 Niederdonven Luxembourg Fon: +352 26 74 94 28 Fax: +352 26 74 94 99 ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] OWSRequest raw post data
Hello list, I am wondering how I could load / pass a raw post body to the owsrequest object. GET is simply done with setParameter. I see that there is a postrequest attribute for the owsrequest object, but there is no documentation for it. Can I set it manually? I am using a WSGI Framework and the documented req.loadParams() function does not work with it. Or is there a parameter 'post' or 'xml' which I can set with the raw post data with setParameter()? Many Thanks Frank Frank Broniewski Metrico s.àr.l. ( http://www.metrico.lu ) 36, rue des Romains L-5433 Niederdonven Luxembourg Fon: +352 26 74 94 28 Fax: +352 26 74 94 99 ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] OWSRequest raw post data
Sorry, I forgot to mention that. I'm using Python ... -- From: "Nolte, Tim" Sent: Tuesday, January 12, 2010 3:56 PM To: "Frank Broniewski" ; Subject: RE: [mapserver-users] OWSRequest raw post data What language are you using, is this PHP? - Tim Timothy J Nolte - tno...@ilpcs.com Network Planning Engineer 4717 Broadmoor Ave, Suite G Kentwood, MI 49512 Office: 616-656-5163 PCS: 616-706-2438 Support: 616-929-0289 Fax: 616-554-6484 -Original Message- From: mapserver-users-boun...@lists.osgeo.org [mailto:mapserver-users-boun...@lists.osgeo.org] On Behalf Of Frank Broniewski Sent: Tuesday, January 12, 2010 4:33 AM To: mapserver-users@lists.osgeo.org Subject: [mapserver-users] OWSRequest raw post data Hello list, I am wondering how I could load / pass a raw post body to the owsrequest object. GET is simply done with setParameter. I see that there is a postrequest attribute for the owsrequest object, but there is no documentation for it. Can I set it manually? I am using a WSGI Framework and the documented req.loadParams() function does not work with it. Or is there a parameter 'post' or 'xml' which I can set with the raw post data with setParameter()? Many Thanks Frank Frank Broniewski Metrico s.àr.l. ( http://www.metrico.lu ) 36, rue des Romains L-5433 Niederdonven Luxembourg Fon: +352 26 74 94 28 Fax: +352 26 74 94 99 ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] OWSRequest raw post data
It seems that setting owsrequest.postdata is sufficiant -- From: "Frank Broniewski" Sent: Tuesday, January 12, 2010 4:26 PM To: Subject: Re: [mapserver-users] OWSRequest raw post data Sorry, I forgot to mention that. I'm using Python ... -- From: "Nolte, Tim" Sent: Tuesday, January 12, 2010 3:56 PM To: "Frank Broniewski" ; Subject: RE: [mapserver-users] OWSRequest raw post data What language are you using, is this PHP? - Tim Timothy J Nolte - tno...@ilpcs.com Network Planning Engineer 4717 Broadmoor Ave, Suite G Kentwood, MI 49512 Office: 616-656-5163 PCS: 616-706-2438 Support: 616-929-0289 Fax: 616-554-6484 -Original Message- From: mapserver-users-boun...@lists.osgeo.org [mailto:mapserver-users-boun...@lists.osgeo.org] On Behalf Of Frank Broniewski Sent: Tuesday, January 12, 2010 4:33 AM To: mapserver-users@lists.osgeo.org Subject: [mapserver-users] OWSRequest raw post data Hello list, I am wondering how I could load / pass a raw post body to the owsrequest object. GET is simply done with setParameter. I see that there is a postrequest attribute for the owsrequest object, but there is no documentation for it. Can I set it manually? I am using a WSGI Framework and the documented req.loadParams() function does not work with it. Or is there a parameter 'post' or 'xml' which I can set with the raw post data with setParameter()? Many Thanks Frank Frank Broniewski Metrico s.àr.l. ( http://www.metrico.lu ) 36, rue des Romains L-5433 Niederdonven Luxembourg Fon: +352 26 74 94 28 Fax: +352 26 74 94 99 ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Maximum width of line - setting is ignored
Hello, we just noticed that our width settings for a line above 40px is ignored. Whatever size we set, it is no more broader than 40px. Is there an internal limit regarding this? CLASS Name "bridge-motorway" Expression ('[highway]' eq 'motorway' AND '[bridge]' ne '') MaxScaleDenom 4010 STYLE Symbol "line" Color 0 0 0 Width 50 <-- if bigger than 40 - no effect END END SYMBOL NAME "line" TYPE SIMPLE PATTERN 1 0 1 0 END LINECAP butt FILLED TRUE END Many thanks Frank -- Frank BRONIEWSKI METRICO s.à r.l. géomètres technologies d'information géographique rue des Romains 36 L-5433 NIEDERDONVEN tél.: +352 26 74 94 - 28 fax.: +352 26 74 94 99 http://www.metrico.lu ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users