[mapserver-users] SYMBOLSET does not work on Linux (CentOS 4.2), but FONTSET works
I have compiled MapServer 5.4.2, PHP 5.2.11, and Apache 2.2.14 on a CentOS 4.2 box. I also have compiled Geos 3.11, GDAL 1.6.2, and Proj 4.7.0. Here is the result of mapserv -v: MapServer version 5.4.2 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WFS_SERVER SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE I tried small PHP MapScript page to test it, as well as a simple mapfile. Everything works fine (including raster and PostGIS-stored maps), until I tried to use SYMBOLSET on my mapfile. It just doesn't work. All I got is a blank screen. The normal HTML part still shows, but everything from ?php $map = ms_newMapObj('mapfile') just disappears. By the way, I never got any error message with this compilation. It also happens with other kind of errors. First I thought that I put the ./symbols directory in the wrong place (or I refer to the directory wrong way), but I have tried everything ad nauseam. SYMBOLSET just doesn't work. Funnily enough, SYMBOLSET work flawlessly on my MS4W. Windows XP. MapServer 5.0.2, Apache 2.2.8, PHP 5.2.5. Here is the result of mapserv -v of the ms4w: MapServer version 5.0.2 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=PDF OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE 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=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE However, FONTSET works on both the Linux box and my Windows laptop. What happens? I attached the symbol.sym file. I think the .sym is pretty simple, why does it cause error? Thanks Regards, -Kresh symbols.sym Description: Binary data ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] SYMBOLSET does not work on Linux (CentOS 4.2), but FONTSET works
It works now, thanks! I just wonder; why does such thing work in MS4W, while not in linux-based MapServer? --- On Sun, 11/22/09, Pavel Iacovlev iacovlev.pa...@gmail.com wrote: From: Pavel Iacovlev iacovlev.pa...@gmail.com Subject: Re: [mapserver-users] SYMBOLSET does not work on Linux (CentOS 4.2), but FONTSET works To: kreshna_icehe...@yahoo.com kreshna_icehe...@yahoo.com Cc: mapserver-users@lists.osgeo.org Date: Sunday, November 22, 2009, 8:55 AM Your symbols.sym file should start with a SYMBOLSET and end with END On Sun, Nov 22, 2009 at 3:48 PM, kreshna_icehe...@yahoo.com kreshna_icehe...@yahoo.com wrote: I have compiled MapServer 5.4.2, PHP 5.2.11, and Apache 2.2.14 on a CentOS 4.2 box. I also have compiled Geos 3.11, GDAL 1.6.2, and Proj 4.7.0. Here is the result of mapserv -v: MapServer version 5.4.2 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WFS_SERVER SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE I tried small PHP MapScript page to test it, as well as a simple mapfile. Everything works fine (including raster and PostGIS-stored maps), until I tried to use SYMBOLSET on my mapfile. It just doesn't work. All I got is a blank screen. The normal HTML part still shows, but everything from ?php $map = ms_newMapObj('mapfile') just disappears. By the way, I never got any error message with this compilation. It also happens with other kind of errors. First I thought that I put the ./symbols directory in the wrong place (or I refer to the directory wrong way), but I have tried everything ad nauseam. SYMBOLSET just doesn't work. Funnily enough, SYMBOLSET work flawlessly on my MS4W. Windows XP. MapServer 5.0.2, Apache 2.2.8, PHP 5.2.5. Here is the result of mapserv -v of the ms4w: MapServer version 5.0.2 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=PDF OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE 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=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE However, FONTSET works on both the Linux box and my Windows laptop. What happens? I attached the symbol.sym file. I think the .sym is pretty simple, why does it cause error? Thanks Regards, -Kresh ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users -- http://iap.md, The future is open ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Questions on deploying PHP MapScript, IMAGEPATH, and file locations
I have made a web map application using PHP MapScript, and now I'm supposed to deploy it on the production server. The production server is using Red Hat Linux (2.6.9-22.ELsmp kernel, buildcen...@louisa.home.local, gcc version 3.4.4 20050721, Red Hat 3.4.4-2). It already has Apache 2.0.52 and PHP 5.1.6. Both the Apache and the PHP were installed from RPM, as part of the Red Hat installation package. On the other hand, I wrote the web map application using MS4W on Windows XP. The MapServer is version 5.0.2, and came pre-packaged with Apache 2.2.8 and PHP 5.2.5. The questions are: (1) Would PHPMapScript 5.0.2 work well with Apache 2.0.52 and PHP 5.1.6? (2) Please tell me if I'm right or wrong. Based on my experience with MS4W, the value of IMAGEPATH parameter points to the /temp folder, relative from the location of the php.exe. For example, my php.exe is located in D:\ms4w\Apache\cgi-bin\, while the /temp folder is located in D:\ms4w\Apache\htdocs\temp\. Thus, the IMAGEPATH value in my mapfile is ../htdocs/temp, traversing from D:\ms4w\Apache\cgi-bin\ to D:\ms4w\Apache\htdocs\temp\. Am I correct with the assumption above? Because in the production server, the php.bin is located in /usr/sbin/, then I have to change the IMAGEPATH value accordingly, am I correct? (3) I think it would be easier if I start from root for the IMAGEPATH value (for example, /ms4w/Apache/htdocs/temp/ instead of ../htdocs/temp), but wouldn't it cause problem if the www user doesn't have permission to the / folder? (4) On MS4W, the php_mapscript.dll is located in D:\ms4w\Apache\php\ext\. I think the location would be quite different in the production server. Does it affect anything? (5) On my development PC (MS4W on Windows XP, MapServer 5.0.2), MapServer is able to display .TIFF with .RRD and .AUX (instead of world file). However, the MapServer came with MS4W. If I install MapServer on the production server, would it be able to support .RRD and .AUX out of the box, or should I install additional libraries? (6) Based on Verbose Linux Installation page, it seems I need to recompile PHP, since the one at the production server doesn't have --with-pgsql and --enable-dbase switches. However, the production server PHP was installed from RPM. Can I recompile such RPM-installed PHP? Many thanks, -Kresh ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Spatial operations with PHP MapScript? (plus, intersecting raster and polygon?)
Is it possible to do spatial operations with PHP MapScript? Currently, if I want to do intersection between two shapes, I have to write the following postgis queries in my map file: DATA'the_geom from ( select h.gid, intersection(k.the_geom, h.the_geom) as the_geom FROM test.jawabali_konservasi k INNER JOIN test.jawabali_hutanlindung h ON (k.the_geom h.the_geom AND intersects(k.the_geom, h.the_geom)) ) as foo using unique gid using srid=-1' Is it possible to do such thing on the fly with MapScript? And if spatial operations are possible with MapScript, is it possible to intersect a particular color range of a raster (which is defined in mapfile as CLASS) with polygons? Many thanks, -Kresh ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Spatial operations with PHP MapScript? (plus, intersecting raster and polygon?)
Thanks, Jeff. I'll tinker around with intersection function. Roppola, it seems putting the raster mesh in the database (BLOB data type?) is not feasible in this situation. I wonder if anyone has ever succeeded in intersecting polygon and raster before. ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] getAllLayerNames crashes PHP MapScript?
I have the following codes in my web map application: $GLOBALS[layer_names] = $GLOBALS[map]-getAllLayerNames(); When I ran the web map application through browser, Windows gave me the following error message: CGI / FastCGI has encountered a problem and needs to close. We are sorry for the inconvenience. Also, the browser showed the following error message: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, ad...@local.domain and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. First I thought it was because I used global variables, but I changed the variables into non-global variables, and the error was still there. I'm using ms4w with MapServer version 5.0.2. The PHP version is 5.2.5 (cli) (built: Nov 8 2007 23:18:51), with Zend Engine v2.2.0. What could be wrong? Thanks, -Kresh PS: the following is the result of phpinfo_mapscript.php System Windows NT TOSHIBA-FA8C99F 5.1 build 2600 Build Date Nov 8 2007 23:18:08 Configure Command cscript /nologo configure.js --enable-snapshot-build --with-gd=shared Server API CGI/FastCGI Virtual Directory Support enabled Configuration File (php.ini) Path C:\WINDOWS Loaded Configuration File D:\ms4w\Apache\cgi-bin\php.ini PHP API 20041225 PHP Extension 20060613 Zend Extension 220060519 Debug Build no Thread Safety enabled Zend Memory Manager enabled IPv6 Support enabled Registered PHP Streams php, file, data, http, ftp, compress.zlib Registered Stream Socket Transports tcp, udp Registered Stream Filters convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, zlib.* This program makes use of the Zend Scripting Language Engine: Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] getAllLayerNames crashes PHP MapScript?
I have the following codes in my web map application: $GLOBALS[layer_names] = $GLOBALS[map]-getAllLayerNames(); When I ran the web map application through browser, Windows gave me the following error message: CGI / FastCGI has encountered a problem and needs to close. We are sorry for the inconvenience. Also, the browser showed the following error message: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, ad...@local.domain and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. First I thought it was because I used global variables, but I changed the variables into non-global variables, and the error was still there. I'm using ms4w with MapServer version 5.0.2. The PHP version is 5.2.5 (cli) (built: Nov 8 2007 23:18:51), with Zend Engine v2.2.0. What could be wrong? Thanks, -Kresh PS: the following is the result of phpinfo_mapscript.php System Windows NT TOSHIBA-FA8C99F 5.1 build 2600 Build Date Nov 8 2007 23:18:08 Configure Command cscript /nologo configure.js --enable-snapshot-build --with-gd=shared Server API CGI/FastCGI Virtual Directory Support enabled Configuration File (php.ini) Path C:\WINDOWS Loaded Configuration File D:\ms4w\Apache\cgi-bin\php.ini PHP API 20041225 PHP Extension 20060613 Zend Extension 220060519 Debug Build no Thread Safety enabled Zend Memory Manager enabled IPv6 Support enabled Registered PHP Streams php, file, data, http, ftp, compress.zlib Registered Stream Socket Transports tcp, udp Registered Stream Filters convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, zlib.* This program makes use of the Zend Scripting Language Engine: Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Layer selection checkbox with PHPMapScript? (pardon the noob question)
Hi, I've been tinkering around with PHP MapScript lately, and I start to like it even better than MapServer CGI. However, I'm still at loss at enabling the layer selection checkbox. In MapServer CGI, you create the checkbox with such code: input type=checkbox name=layer value=river [layer_check]/River I have tried Google for sample codes, but couldn't find any. I have tried MapServer.pdf documentation too, and still couldn't find anything useful. However, it seems to me that unlike MapServer CGI, in PHPMapScript we don't have to hardcode each layer's name. Instead, it can dynamically recognize layer names through looping routine. Am I being correct here? Does anyone have sample codes for such purpose? And how about groups? Could PHPMapScript recognize layer groups as well? Many thanks, -Kresh ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
RE: [mapserver-users] Dynamic intersection color with MapServer?
Thanks, Jim Steve. Yes, I guess I have to use postgreSQL query to define the intersection layer (using intersect spatial query). I still wonder about something, though. Let say I have the following layers: layer A, layer B, and layer C. Layer C is the distinctly-colored intersection layer, which is generated by postgreSQL query. Is it possible to automatically activate layer C whenever layer A and layer B is activated? It needs certain programming, but it is possible to achieve trough cgi alone? Or would I need PHP MapScript? How about p.mapper? Is it easier to do such thing using p.mapper? It is based on PHPMapScript, isn't it? Any sample codes for such purpose? Many thanks, -Kresh ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Dynamic intersection color with MapServer?
Let's say I have three layers: A, B, and C. If layer A intersects with layer B, I want the intersection area to be colored with, say, red. Only the intersection area. If layer A intersects with layer C, I want the intersection area to be colored with, say, green. Again, only the intersection area. Is it possible to do such thing with MapServer? For starter, is it possible for MapServer to dynamically generate the intersection area on the fly? And it is possible to assign specific color to the intersection area? Many thanks, -Kresh ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Displaying query result on the same page?
I see, thanks! Is it possible to use the same HTML file for both query and browse? The file contains both browsing parameters ([img], [layer_name], etc) and query parameters ([field_name]). I think I'll try it. Warm regards, -Kresh --- On Mon, 4/20/09, Steve Lime steve.l...@dnr.state.mn.us wrote: From: Steve Lime steve.l...@dnr.state.mn.us Subject: Re: [mapserver-users] Displaying query result on the same page? To: mapserver-users@lists.osgeo.org, kreshna_icehe...@yahoo.com kreshna_icehe...@yahoo.com Date: Monday, April 20, 2009, 1:12 PM You can probably do it with query/browse templates but the other methods are more efficient and provide a better user experience and are easier to configure. Steve On 4/20/2009 at 1:07 AM, in message 860869.57172...@web110602.mail.gq1.yahoo.com, kreshna_icehe...@yahoo.com kreshna_icehe...@yahoo.com wrote: Thank you, Steve. It seems frames and/or AJAX are the only way to display query result on the same page when using CGI MapServer, am I correct? -Kresh --- On Sun, 4/19/09, Steve Lime steve.l...@dnr.state.mn.us wrote: From: Steve Lime steve.l...@dnr.state.mn.us Subject: Re: [mapserver-users] Displaying query result on the same page? To: mapserver-users@lists.osgeo.org, kreshna_icehe...@yahoo.com Date: Sunday, April 19, 2009, 1:48 AM For frames you just set the form target to the frame of interest. You're code is quite close. Still another option is to use AJAX/AJAST. You issue the query via an XMLHttpRequest and get the results back in a javascript string or object that you can direct the contents of to a container (e.g. div) on your page. Steve kreshna_icehe...@yahoo.com kreshna_icehe...@yahoo.com 04/18/09 10:37 AM I hope this newbie question doesn't bother you. See, I want to display query result on my map page, but if I use query mode, the query result replaces the whole page. As workaround, I redirect the query result to a pop-up page using the following JavaScript: function toFrame() { if (document.mapserv.mode.value == query || document.mapserv.mode.value == nquery) { document.mapserv.target = _blank; } else { document.mapserv.target = _self; } } However, I'd also like to display the query result as part of the page (for example, on the lower right of the page), without replacing the entire page with the query result. Is there any way to do such thing using CGI MapServer? Or is PHP MapScript the only way to do it? I'm thinking about using HTML frames, but I'm still at loss to redirect the query result to a particular frame. Many thanks, -Kresh ___ 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] Displaying query result on the same page?
Thank you, Steve. It seems frames and/or AJAX are the only way to display query result on the same page when using CGI MapServer, am I correct? -Kresh --- On Sun, 4/19/09, Steve Lime steve.l...@dnr.state.mn.us wrote: From: Steve Lime steve.l...@dnr.state.mn.us Subject: Re: [mapserver-users] Displaying query result on the same page? To: mapserver-users@lists.osgeo.org, kreshna_icehe...@yahoo.com Date: Sunday, April 19, 2009, 1:48 AM For frames you just set the form target to the frame of interest. You're code is quite close. Still another option is to use AJAX/AJAST. You issue the query via an XMLHttpRequest and get the results back in a javascript string or object that you can direct the contents of to a container (e.g. div) on your page. Steve kreshna_icehe...@yahoo.com kreshna_icehe...@yahoo.com 04/18/09 10:37 AM I hope this newbie question doesn't bother you. See, I want to display query result on my map page, but if I use query mode, the query result replaces the whole page. As workaround, I redirect the query result to a pop-up page using the following JavaScript: function toFrame() { if (document.mapserv.mode.value == query || document.mapserv.mode.value == nquery) { document.mapserv.target = _blank; } else { document.mapserv.target = _self; } } However, I'd also like to display the query result as part of the page (for example, on the lower right of the page), without replacing the entire page with the query result. Is there any way to do such thing using CGI MapServer? Or is PHP MapScript the only way to do it? I'm thinking about using HTML frames, but I'm still at loss to redirect the query result to a particular frame. Many thanks, -Kresh ___ 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] Displaying query result on the same page?
I hope this newbie question doesn't bother you. See, I want to display query result on my map page, but if I use query mode, the query result replaces the whole page. As workaround, I redirect the query result to a pop-up page using the following JavaScript: function toFrame() { if (document.mapserv.mode.value == query || document.mapserv.mode.value == nquery) { document.mapserv.target = _blank; } else { document.mapserv.target = _self; } } However, I'd also like to display the query result as part of the page (for example, on the lower right of the page), without replacing the entire page with the query result. Is there any way to do such thing using CGI MapServer? Or is PHP MapScript the only way to do it? I'm thinking about using HTML frames, but I'm still at loss to redirect the query result to a particular frame. Many thanks, -Kresh ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Installing MapServer on existing Apache/PHP/MySQL on Linux?
No, no; no need for that. MapServer is a simple CGI program, so if your Apache has support for CGI programs you're good to go. And while support for CGI can be disabled, it's probably enabled. I see! Thanks! Duh. I've done it a few hundred times (literally) and am glad to share tips. Feel free to email me directly with questions, but change the subject so it doesn't get caught by my filters. Thanks. Step 1: Have you installed the prerequisites? GDAL/OGR and PROJ4 are not strictly required, but if you want to do anything about reprojecting data or using something other than shapefiles and TIFFs, they're strongly recommended. No. This is a simple web map application, but I think I'll install the prerequisite just in case. Step 2: Download and build the source. Download the tar.gz file from mapserver.org, extract it, run ./configure with flags for whatever features you want, and then make Then copy the files into place. Step 3: Point a browser at /cgi/bin/mapserv and expect an error message from having not supplied enough query params. At that point, you're ready. Thanks for the tips, Greg. :-) Kind regards, -Kresh ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] MapServer on Intel Atom?
I'll be doing a lot of MapServer demo in the future. I'm quite interested in Intel Atom-based subnotebooks for the purpose (like Lenovo IdeaPad S10), since they are light and mobile. However, I wonder if Intel Atom is adequate to run MapServer. The MapServer will be run on either ms4w on Windows XP, or directly on Linux. The layers are stored on postGIS (there are fifteen layers or so), and there is also a 476 megabytes raster file in .TIFF format. Will Intel Atom be adequate for the purpose? Will 2GB of memory help? Has anyone ever done such thing before? Many thanks, -Kresh ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users