Re: [mapserver-users] ms4w (fastcgi) and oracle 10?
Hi, Sorry, I cannot help you much further. I checked, however, the SQL against our Oracle 10g Spatial, and I got the same error 'SDO_GEOM' is not a procedure or is undefined. Reason is a typo in SDO_FILTER parameters. Now it reads WHERE SDO_FILTER( GEOM, MDSYS.SDO_GEOM(2003 It should read WHERE SDO_FILTER( GEOM, MDSYS.SDO_GEOMETRY(2003 If it is not just copy and paste error then it looks like MapServer is generating bad SQL -Jukka Rahkonen- -Alkuperäinen viesti- Lähettäjä: zach cruise [mailto:[EMAIL PROTECTED] Lähetetty: 18. marraskuuta 2008 21:21 Vastaanottaja: mapserver-users@lists.osgeo.org Kopio: Rahkonen Jukka; Richard Polk; Smith,Michael ERDC-CRREL-NH; Jeff McKenna Aihe: Re: [mapserver-users] ms4w (fastcgi) and oracle 10? sql*plus returns this error: ORA-06553: PLS-221: 'SDO_GEOM' is not a procedure or is undefined 06553. 0 - PLS-%s: %s *Cause: *Action: Error at Line:x Column:x select ID, GEOM from STATES works though. i have oracle locator not spatial, if that matters. also column GEOM is type SDO_GEOMETRY with MDSYS.SPATIAL_INDEX. On Tue, Nov 18, 2008 at 12:49 PM, Rahkonen Jukka [EMAIL PROTECTED] wrote: Hi, Have you checked that the SQL statement SELECT ID, GEOM FROM STATES WHERE SDO_FILTER( GEOM, MDSYS.SDO_GEOM(2003, 90112, NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO _ORDINATE_ARRAY(-179,-89.517,179,83.517) ),'querytype=window') = 'TRUE' works from SQL*Plus or something else that you are using with your Oracle? If not, then investigate and adjust the DATA string accordingly. -Jukka Rahkonen- -Alkuperäinen viesti- Lähettäjä: [EMAIL PROTECTED] puolesta: zach cruise Lähetetty: ti 18.11.2008 19:44 Vastaanottaja: mapserver-users@lists.osgeo.org Kopio: Richard Polk; Smith,Michael ERDC-CRREL-NH Aihe: Re: [mapserver-users] ms4w (fastcgi) and oracle 10? thanks mike, but i get the same ora-x errors when using either: shp2img -m oracle.map -o oracle.png -all_debug 10 msOracleSpatialLayerOpen called with: GEOM from STATES using unique ID srid 90112 msOracleSpatialLayerOpen. Shared connection not available. Creating one. msConnPoolRegister(layername,username/[EMAIL PROTECTED],019A68E8) msOracleSpatialLayerFreeItemInfo was called. msOracleSpatialLayerWhichShapes was called. msOracleSpatialLayerWhichShapes. Using this Sql to retrieve the data: SELECT ID, GEOM FROM STATES WHERE SDO_FILTER( GEOM, MDSYS.SDO_GEOM(2003, 90112, NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(-179 ,-89.517,179,83.517) ),'querytype=window') = 'TRUE' msOracleSpatialLayerWhichShapes(): OracleSpatial error. Error: ORA-29900: operator binding does not exist ORA-06540: PL/SQL: compilation error ORA-06553: PLS-907: cannot load library unit MDSYS.SDO_3GL (referenced by MDSYS.SDO_FILTER) . Query statement: SELECT ID, GEOM FROM STATES WHERE SDO_FILTER( GEOM, MDSYS.SDO_GEOM(2003, 90112, NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO _ORDINATE_ARRAY(-179,-89.517,179,83.517) ),'querytype=window') = 'TRUE' . Check your data statement. using 4.8 with /ignored-libmap/oracle10g/libmap.dll. how do i tell if i have native or ogr support for oracle 10g? i also edited httpd.conf (did i need to?) from http://mapserver.gis.umn.edu/docs/howto/oracle_spatial_howto, but still no luck. On Tue, Nov 18, 2008 at 6:42 AM, Smith, Michael ERDC-CRREL-NH [EMAIL PROTECTED] wrote: Zach, Your DATA statement is almost correct. If you are going to use the UNIQUE keyword (for supporting queries), you must put a column name after UNIQUE and before the SRID. Either of these would work: DATA ' GEOM from STATES using UNIQUE ID srid 90112' or DATA ' GEOM from STATES using srid 90112' Assuming you have a column named ID, of course. Mike -- Michael Smith RSGIS Center ERDC - CRREL US Army Corps of Engineers On 11/17/08 8:21 PM, zach cruise [EMAIL PROTECTED] wrote: troubleshooting info on 4.8 box with /ignored-libmap/oracle10g/libmap.dll: shp2img -m oracle.map -o oracle.png -all_debug 10 msOracleSpatialLayerOpen called with: GEOMETRY from STATES using unique srid 90112 msOracleSpatialLayerOpen. Shared connection not available. Creating one. msConnPoolRegister(layername,username/[EMAIL PROTECTED],019A68E8 ) msOracleSpatialLayerFreeItemInfo was called. msOracleSpatialLayerWhichShapes was called. msOracleSpatialLayerWhichShapes(): OracleSpatial error. Error parsing OracleSpatial DATA variable. Must be:'geometry_column FROM table_name [USING UNIQUE column SRID srid# FUNCTION]' or 'geometry_column FROM (SELECT stmt) [USING UNIQUE column SRID srid# FUNCTION]'. If want to set the FUNCTION statement you can use: FILTER, RELATE, GEOMRELATE or NONE. Your data statement: GEOM from STATES using unique srid 90112
Re: [MAPSERVER-USERS] Problem TEMPLATE to use getfeatureinfo.html
Thank you. Yes I have a little advanced. I found the location where the file must be ttt.html record. As against, the answer is empty and the message server is X-FirePHP-Data response header not found in request response. I stayed in format text / html. I tried to put a format model, but I have trouble positioning. How to use the default format? Thank you for assistance tio - Original Message - From: Tellett [EMAIL PROTECTED] To: mapserver-users@lists.osgeo.org Sent: Tuesday, November 18, 2008 1:05 PM Subject: Re: [MAPSERVER-USERS] Problem TEMPLATE to use getfeatureinfo.html Hi Tio, The 'ttt' template should exist but it should be blank. Open an empty document in notepad or textpad etc and save that empty document as 'ttt.html'. Each layer in the mapfile has to reference a template in order for that layer to be considered queryable by mapserver. If you want your getfeatureinfo results to be presented in html format however, you will have to write an html template that fits your data (with header and footer if you want multiple results returned). If all your layers reference the 'ttt' template, the only output formats for getfeatureinfo results you can use are text/plain and text/gml. hope that helps a little, Tom ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] C# mapscript: create features programmatically
Ciao list. Anyone knows how to add dynamically a feature in a layer, working in cshap_mapscript? I must to add programmatically this features, without adding them to the layer source. Following code don't works... i.e. the new feature is not showing (map is a valid MapObject, shp a valid ShapeObject, kriging is a valid layer name, type of layer and kind of shape is line) layerObj kl = map.getLayerByName(kriging); kl.addFeature(shp); imageObj imgMap = map.draw(); string fname = Guid.NewGuid().ToString(); string imgpath = map.web.imagepath + @\ + fname + .jpg; if (File.Exists(imgpath)) File.Delete(imgpath); imgMap.save(imgpath, map); many thanks for your help. ciao ..pg -- Pietro Giannini Bytewise srl - Area GIS 41°50'38.58N 12°29'13.39E ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] The browser can't display the rendered image
Ciao Attila, the IMAGEURL cannot be 'c:/ms4w/tmp/ms_tmp/', it would be something like '/tmp/ms_tmp/', a URL not a local path. ciao. pg -- Pietro Giannini Bytewise srl - Area GIS 41°50'38.58N 12°29'13.39E On Mer, Novembre 19, 2008 12:05, Attila Borbás wrote: Hello, Thanx for the previous answer. I ve tested my mapfiles (with quickmap.php) and they work fine, but the problem is the same. My php/mapscript code created the map image and saved it to /ms_tmp/ but the browser couldn't display it (I got a broken img). I enclose the php/mapscript file, the mapfile and the page source.Thx for ur help. *mapfile (I created it with qgis):* MAP NAME world_raster SIZE 600 600 UNITS dd EXTENT -188.678212 -114.270312 189.321981 107.893344 PROJECTION 'proj=longlat' 'ellps=WGS84' 'datum=WGS84' 'no_defs' '' END IMAGECOLOR 192 192 192 IMAGEQUALITY 95 IMAGETYPE jpeg OUTPUTFORMAT NAME jpeg DRIVER 'GD/JPEG' MIMETYPE 'image/jpeg' #IMAGEMODE PC256 EXTENSION 'jpeg' END LEGEND IMAGECOLOR 255 255 255 STATUS ON KEYSIZE 18 12 LABEL TYPE BITMAP SIZE MEDIUM COLOR 0 0 89 END END WEB IMAGEPATH 'c:/ms4w/tmp/ms_tmp/' IMAGEURL 'c:/ms4w/tmp/ms_tmp/' METADATA 'wms_title' 'world_raster' 'wms_onlineresource' 'http://my.host.com/cgi-bin/mapserv?map=wms.map; ' 'wms_srs' 'EPSG:4326' END END LAYER NAME 'world_raster' TYPE RASTER DATA 'c:/ms4w/Apache/htdocs/world_raster.tif' METADATA 'wms_title' 'world_raster' END STATUS DEFAULT TRANSPARENCY 100 PROJECTION 'proj=longlat' 'ellps=WGS84' 'datum=WGS84' 'no_defs' '' END END END *php/mapscript code:* ?php define( MAPFILE, C:/ms4w/apps/raster/raster.map ); define( MODULE, php_mapscript.dll ); if(!extension_loaded(mapscript)) dl(MODULE); $oMap = ms_newMapObj( MAPFILE ); //draw $oImage = $oMap-draw(); //output map $url = $oImage-saveWebImage(); ? HTML HEAD TITLEExample 1: Displaying a map/TITLE /HEAD BODY IMG SRC=?php echo $url; ? /BODY /HTML *Page source (after I ran the code the html part saw the link to the image but didn't display it.):* HTML HEAD TITLEExample 1: Displaying a map/TITLE /HEAD BODY IMG SRC=c:/ms4w/tmp/ms_tmp/4923f091_c84_0.jpeg /BODY /HTML ___ 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] Problem TRANSPARENT LAYER OPTION
Hello I am trying to configure a server WMS / WFS That configuration [EMAIL PROTECTED]:~$ /usr/lib/cgi-bin/mapserv -v 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 [EMAIL PROTECTED]:~$ /usr/lib/cgi-bin/mapserv5 -v MapServer version 5.2.0 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE [EMAIL PROTECTED]:~$ I'm having problems that my vector layers are transparent I joined the Mapfile of layer MH Thank you for your help Tiolebucheron WEBSIG_NORM.map Description: Binary data ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Join to CSV
I am trying to join my parcel shapefile to tax information stored as a .csv file. I have follwed the instructions at http://mapserver.gis.umn.edu/docs/reference/mapfile/join with no success. Here is the Layer object from the mapfile: LAYER NAME 'Parcels' DATA './Parcels.shp' STATUS DEFAULT TYPE LINE JOIN NAME TaxInfo TABLE ./20081008.csv FROM TaxPIN TO PIN TYPE ONE-TO-ONE END CLASS NAME 'Parcel Boundary' TYPE LINE STYLE COLOR 3 3 3 OUTLINECOLOR 0 0 0 WIDTH 1 END END END Here is the html identify template: tr BGCOLOR=969696 td colspan=2ubParcel Information/b/u/td /tr tr tdemParcel ID:/em/tdtd[TaxPIN]/td /tr tr tdemOwner Name:/em/tdtd[TaxInfo_PRIM TAXP NAME], [TaxInfo_PRIM TAXP NAME 2]/td /tr Here is what is an example of what is returned when I identify the parcels: Parcel Information Parcel ID: 040023800 Owner Name: [TaxInfo_PRIM TAXP NAME], [TaxInfo_PRIM TAXP NAME 2] Using the tool does not cause any sort of an error. I'm hoping that there is something simple I am missing. Any help would be much appreciated. Benton County, MN ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] RE: Problem TEMPLATE to use getfeatureinfo.html
It thank you I see the following result. GetFeatureInfo results: Layer 'dgd' Feature 1244: gid = '1244' dgd_proid = '5403' dgd_forid = '927' dgd_prox = '517709.862932534771971' dgd_proy = '2461383.926690207794309' dgd_prosur = '168.065898751962663' ... I joined the Mapfile amended to conclude the matter. The side that gives this openlayers map.events.register('click', map, function (e) { OpenLayers.Util.getElement('nodeList').innerHTML = Loading... please wait...; var url = ccDGD.getFullRequestString({ REQUEST: GetFeatureInfo, EXCEPTIONS: application/vnd.ogc.se_xml, BBOX: ccDGD.map.getExtent().toBBOX(), X: e.xy.x, Y: e.xy.y, INFO_FORMAT: 'text/plain', QUERY_LAYERS: ccDGD.params.LAYERS, WIDTH: ccDGD.map.size.w, HEIGHT: ccDGD.map.size.h}); OpenLayers.loadURL(url, '', this, setHTML); OpenLayers.Event.stop(e); }); Thomas thank you for help - Original Message - From: Thomas Ellett [EMAIL PROTECTED] To: Richard LEHAUT [EMAIL PROTECTED] Sent: Wednesday, November 19, 2008 11:40 AM Subject: RE: Problem TEMPLATE to use getfeatureinfo.html Ok, I've changed a couple of things in the mapfile and you need to add a Couple of variables as well. I've added the code on lines 34 and 35, you can Just leave that. On line 58 you need to add a port (you can find this by clicking on the properties of the db in postgis). On line 59, you just need to add the name of the unique identifier column from your table, possibly ogc_fid? I've also commented out the bottom 2 layers, its probably easier to concentrate on 1 layer at a time. Because you have referenced a blank html (ttt.html) you need to set the info_format in the getfeatureinfo url to text/plain or text/gml. This mapfile should be correct, but you can make sure I haven't made a typo by looking at the capabilities document. Let me know how it goes, Cheers Tom -Original Message- From: Richard LEHAUT [mailto:[EMAIL PROTECTED] Sent: Wednesday, November 19, 2008 11:16 AM To: Thomas Ellett Subject: Re: Problem TEMPLATE to use getfeatureinfo.html Thank's Tio - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, November 19, 2008 11:00 AM Subject: Problem TEMPLATE to use getfeatureinfo.html Hey Tio, not sure what you mean by 'tried to put a format model'? If you want to send me a copy of your mapfile I can take a look at that to see if theres anything wrong there, I can't really help with openlayers client side script though as I'm not much of a programmer I'm afraid. Cheers Tom WEBSIG_NORM.map Description: Binary data ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Mapserver Thread Safety
So I kind of feel stupid at the moment... I had one understanding of thread safety and now I think I have another My first understanding was that if multiple users were accessing a site programmed very basically (not with any type of multi-threading code) but simply the fact that multiple users were making requests that they could potentially bump into requests and not return the same result if only one user were making requests. Now, I think it means specifically programming for a multi-threaded application so that you are using multiple code paths asynchronously in a given request would not be recommended without placing code-locks for various features. Can someone please clarify for me what the thread-safety is in regards to Mapserver and Mapscript C#, PHP and Java and perhaps clarify one thing; If I am programming without implementing multiple threads in code but plan to have multiple users accessing the site, will they bump into any requests? Sorry for the ignorance, and thank you.. ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Join to CSV
Heather Wirth wrote: I am trying to join my parcel shapefile to tax information stored as a .csv file. I have follwed the instructions at http://mapserver.gis.umn.edu/docs/reference/mapfile/join with no success. Here is the Layer object from the mapfile: LAYER NAME 'Parcels' DATA './Parcels.shp' STATUS DEFAULT TYPE LINE JOIN NAME TaxInfo TABLE ./20081008.csv FROM TaxPIN TO PIN TYPE ONE-TO-ONE END CLASS NAME 'Parcel Boundary' TYPE LINE STYLE COLOR 3 3 3 OUTLINECOLOR 0 0 0 WIDTH 1 END END END Here is the html identify template: tr BGCOLOR=969696 td colspan=2ubParcel Information/b/u/td /tr tr tdemParcel ID:/em/tdtd[TaxPIN]/td /tr tr tdemOwner Name:/em/tdtd[TaxInfo_PRIM TAXP NAME], [TaxInfo_PRIM TAXP NAME 2]/td /tr Here is what is an example of what is returned when I identify the parcels: Parcel Information Parcel ID: 040023800 Owner Name: [TaxInfo_PRIM TAXP NAME], [TaxInfo_PRIM TAXP NAME 2] Using the tool does not cause any sort of an error. I'm hoping that there is something simple I am missing. Any help would be much appreciated. Benton County, MN I think you should also include the ogrinfo '-summary' output for both your shp and your csv (as shown on the web page you referred to), so people on this list can see all field names. I'm guessing that your csv contains a PRIM TAXP NAME 2 field right? Maybe those spaces in the column-name are causing trouble...I might try to see what happens if you rename the column with a simpler name without spaces. -- Jeff McKenna FOSS4G Consulting and Training Services http://www.gatewaygeomatics.com/ ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Mapserver Thread Safety
On Wed, Nov 19, 2008 at 3:10 PM, Nelson Soto [EMAIL PROTECTED] wrote: So I kind of feel stupid at the moment… I had one understanding of thread safety and now I think I have another that is the effect of learning, congrats! My first understanding was that if multiple users were accessing a site programmed very basically (not with any type of multi-threading code) but simply the fact that multiple users were making requests that they could potentially bump into requests and not return the same result if only one user were making requests. Now, I think it means specifically programming for a multi-threaded application so that you are using multiple code paths asynchronously in a given request would not be recommended without placing code-locks for various features. Depending on the platform you are using both statements can be true as they are different cases of multi-threading. In the case of mapserver the checklist is as follows: If you are using mapserver as a CGI then thread safety is not an issue for you because each request will be handled by a new process that will die immedately after so basically there is no chance of 'bumping into others' requests' as you call it. Same if you're using python, because of a quirk in the python interpreter called GIL (Global Interpreter Lock) which stops the whole python interpreter when entering external code such as the C shared library of mapcript. If you are using fastcgi AND have compiled mapserver with thread support also no need to worry, unless you use one of the unsafe components listed in the thread safety FAQ on the mapserver web site. If you are using Java/C#/PHP/Ruby AND have compiled mapserver with thread support you don't have to worry that much actually because mapserver will lock properly when entering the same thread-unsafe code paths listed in the FAQ cited above. So your question eventually boils down to: should I also place locks in my C#/Java code? In general I would say it is not (I don't in my java app) provided that you don't share mapscript objects between requests: don't create a mapObj at the beginning of the session and reuse it for all the session. Create a new mapObj with every request instead. HTH, Umberto Can someone please clarify for me what the thread-safety is in regards to Mapserver and Mapscript C#, PHP and Java and perhaps clarify one thing; If I am programming without implementing multiple threads in code but plan to have multiple users accessing the site, will they bump into any requests? Sorry for the ignorance, and thank you.. ___ 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] Mapserver Thread Safety
Sounds good. Thanks, Umberto! -Original Message- From: Umberto Nicoletti [mailto:[EMAIL PROTECTED] Sent: Wednesday, November 19, 2008 9:36 AM To: Nelson Soto Cc: mapserver-users@lists.osgeo.org Subject: Re: [mapserver-users] Mapserver Thread Safety On Wed, Nov 19, 2008 at 3:10 PM, Nelson Soto [EMAIL PROTECTED] wrote: So I kind of feel stupid at the moment... I had one understanding of thread safety and now I think I have another that is the effect of learning, congrats! My first understanding was that if multiple users were accessing a site programmed very basically (not with any type of multi-threading code) but simply the fact that multiple users were making requests that they could potentially bump into requests and not return the same result if only one user were making requests. Now, I think it means specifically programming for a multi-threaded application so that you are using multiple code paths asynchronously in a given request would not be recommended without placing code-locks for various features. Depending on the platform you are using both statements can be true as they are different cases of multi-threading. In the case of mapserver the checklist is as follows: If you are using mapserver as a CGI then thread safety is not an issue for you because each request will be handled by a new process that will die immedately after so basically there is no chance of 'bumping into others' requests' as you call it. Same if you're using python, because of a quirk in the python interpreter called GIL (Global Interpreter Lock) which stops the whole python interpreter when entering external code such as the C shared library of mapcript. If you are using fastcgi AND have compiled mapserver with thread support also no need to worry, unless you use one of the unsafe components listed in the thread safety FAQ on the mapserver web site. If you are using Java/C#/PHP/Ruby AND have compiled mapserver with thread support you don't have to worry that much actually because mapserver will lock properly when entering the same thread-unsafe code paths listed in the FAQ cited above. So your question eventually boils down to: should I also place locks in my C#/Java code? In general I would say it is not (I don't in my java app) provided that you don't share mapscript objects between requests: don't create a mapObj at the beginning of the session and reuse it for all the session. Create a new mapObj with every request instead. HTH, Umberto Can someone please clarify for me what the thread-safety is in regards to Mapserver and Mapscript C#, PHP and Java and perhaps clarify one thing; If I am programming without implementing multiple threads in code but plan to have multiple users accessing the site, will they bump into any requests? Sorry for the ignorance, and thank you.. ___ 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] draw dynamic symbols on one layer
Dear List, I'm trying to change a symbol for ONE point layer called 'poi' dynamically within PHP/Mapscript. After searching the mail archive and trying a few variations of what seemed correct, I'm not succedding. The map only shows one type of symbol.LAYER NAME poi STATUS on TYPE point LABELCACHE on TOLERANCEUNITS METERSEND php script: public static function AddPoints ( $map, $qresult ) { $this_layer = $map-getLayerByName('poi'); //QueryLayer $i = 0; foreach($qresult as $row) { $poi[$i] = ms_newPointObj(); $ln[$i] = ms_newLineObj(); $shp[$i] = ms_newShapeObj(MS_SHAPE_POINT); $poi[$i]-setXY($row[1],$row[2]); $ln[$i]-add($poi[$i]); $shp[$i]-add($ln[$i]); $shp[$i]-set(index, $row[0]); if ($row[7] == 1) // show red symbol { $class = ms_newClassObj($this_layer); $class-set(name,depot_red); $class-setExpression(rot); $class-set(template,dummy.html); $style=ms_newStyleObj($class); $style-set(symbolname,depot_red);//the gif } else// show green symbol { $class = ms_newClassObj($this_layer); $class-set(name,depot_green); $class-setExpression(green); $class-set(template,dummy.html); $style=ms_newStyleObj($class); $style-set(symbolname,depot_green); //the gif } $this_layer-addFeature( $shp[$i] ); $i++; } ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] ms4w (fastcgi) and oracle 10?
thanks. if i use (DATA GEOM from STATES using none) from http://mapserver.gis.umn.edu/docs/howto/oracle_spatial_howto (Using this keyword triggers Mapserver to don't use any geometry function or spatial operator), i get white image and changing map extent doesn't help. if i call it via cgi/webserver, i get http 500 internal server error. shp2img -m oracle.map -o oracle.png -e -170 80 -30 -10 -all_debug 10 msOracleSpatialLayerOpen called with: GEOM from STATES using none msOracleSpatialLayerOpen. Shared connection not available. Creating one. msConnPoolRegister(layername,username/[EMAIL PROTECTED],019A68E8) msOracleSpatialLayerFreeItemInfo was called. msOracleSpatialLayerWhichShapes was called. msOracleSpatialLayerWhichShapes. Using this Sql to retrieve the data: SELECT rownum, GEOM FROM STATES msOracleSpatialLayerFreeItemInfo was called. msOracleSpatialLayerClose was called. Layer connection: username/[EMAIL PROTECTED] msOracleSpatialLayerClose. Cleaning layername handlers. msOracleSpatialLayerClose. Cleaning Oracle handlers. msConnPoolRelease(layername,username/[EMAIL PROTECTED],019A68E8) msOracleSpatialLayerClose was called. Layer connection: username/[EMAIL PROTECTED] msConnPoolClose(username/[EMAIL PROTECTED],019A68E8) On Wed, Nov 19, 2008 at 3:03 AM, Rahkonen Jukka [EMAIL PROTECTED] wrote: Hi, Sorry, I cannot help you much further. I checked, however, the SQL against our Oracle 10g Spatial, and I got the same error 'SDO_GEOM' is not a procedure or is undefined. Reason is a typo in SDO_FILTER parameters. Now it reads WHERE SDO_FILTER( GEOM, MDSYS.SDO_GEOM(2003 It should read WHERE SDO_FILTER( GEOM, MDSYS.SDO_GEOMETRY(2003 If it is not just copy and paste error then it looks like MapServer is generating bad SQL -Jukka Rahkonen- -Alkuperäinen viesti- Lähettäjä: zach cruise [mailto:[EMAIL PROTECTED] Lähetetty: 18. marraskuuta 2008 21:21 Vastaanottaja: mapserver-users@lists.osgeo.org Kopio: Rahkonen Jukka; Richard Polk; Smith,Michael ERDC-CRREL-NH; Jeff McKenna Aihe: Re: [mapserver-users] ms4w (fastcgi) and oracle 10? sql*plus returns this error: ORA-06553: PLS-221: 'SDO_GEOM' is not a procedure or is undefined 06553. 0 - PLS-%s: %s *Cause: *Action: Error at Line:x Column:x select ID, GEOM from STATES works though. i have oracle locator not spatial, if that matters. also column GEOM is type SDO_GEOMETRY with MDSYS.SPATIAL_INDEX. On Tue, Nov 18, 2008 at 12:49 PM, Rahkonen Jukka [EMAIL PROTECTED] wrote: Hi, Have you checked that the SQL statement SELECT ID, GEOM FROM STATES WHERE SDO_FILTER( GEOM, MDSYS.SDO_GEOM(2003, 90112, NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO _ORDINATE_ARRAY(-179,-89.517,179,83.517) ),'querytype=window') = 'TRUE' works from SQL*Plus or something else that you are using with your Oracle? If not, then investigate and adjust the DATA string accordingly. -Jukka Rahkonen- -Alkuperäinen viesti- Lähettäjä: [EMAIL PROTECTED] puolesta: zach cruise Lähetetty: ti 18.11.2008 19:44 Vastaanottaja: mapserver-users@lists.osgeo.org Kopio: Richard Polk; Smith,Michael ERDC-CRREL-NH Aihe: Re: [mapserver-users] ms4w (fastcgi) and oracle 10? thanks mike, but i get the same ora-x errors when using either: shp2img -m oracle.map -o oracle.png -all_debug 10 msOracleSpatialLayerOpen called with: GEOM from STATES using unique ID srid 90112 msOracleSpatialLayerOpen. Shared connection not available. Creating one. msConnPoolRegister(layername,username/[EMAIL PROTECTED],019A68E8) msOracleSpatialLayerFreeItemInfo was called. msOracleSpatialLayerWhichShapes was called. msOracleSpatialLayerWhichShapes. Using this Sql to retrieve the data: SELECT ID, GEOM FROM STATES WHERE SDO_FILTER( GEOM, MDSYS.SDO_GEOM(2003, 90112, NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(-179 ,-89.517,179,83.517) ),'querytype=window') = 'TRUE' msOracleSpatialLayerWhichShapes(): OracleSpatial error. Error: ORA-29900: operator binding does not exist ORA-06540: PL/SQL: compilation error ORA-06553: PLS-907: cannot load library unit MDSYS.SDO_3GL (referenced by MDSYS.SDO_FILTER) . Query statement: SELECT ID, GEOM FROM STATES WHERE SDO_FILTER( GEOM, MDSYS.SDO_GEOM(2003, 90112, NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO _ORDINATE_ARRAY(-179,-89.517,179,83.517) ),'querytype=window') = 'TRUE' . Check your data statement. using 4.8 with /ignored-libmap/oracle10g/libmap.dll. how do i tell if i have native or ogr support for oracle 10g? i also edited httpd.conf (did i need to?) from http://mapserver.gis.umn.edu/docs/howto/oracle_spatial_howto, but still no luck. On Tue, Nov 18, 2008 at 6:42 AM, Smith, Michael ERDC-CRREL-NH [EMAIL PROTECTED] wrote: Zach, Your DATA statement is almost correct. If you are going to use the UNIQUE keyword (for supporting queries), you must put a column name after
[mapserver-users] The browser can't display the rendered image
Hello, I still have got a problem. I ve tested my mapfiles (with quickmap.php) and they work fine, but the problem is the same. My php/mapscript code created the map image and saved it to /ms_tmp/ but the browser couldn't display it (I got a broken img). I enclose the php/mapscript file, the mapfile and the page source.Thx for ur help and patience. PHP/MAPSCRIPT FILE: ?php define( MAPFILE, /ms4w/apps/raster/raster.map ); define( MODULE, php_mapscript.dll ); if(!extension_loaded(mapscript)) dl(MODULE); $oMap = ms_newMapObj( MAPFILE ); //draw $oImage = $oMap-draw(); //output map $url = $oImage-saveWebImage(); ? HTML HEAD TITLEExample 1: Displaying a map/TITLE /HEAD BODY IMG SRC=?php echo $url; ? /BODY /HTML MAPFILE (I created it with qgis): MAP NAME world_raster SIZE 600 600 UNITS dd EXTENT -188.678212 -114.270312 189.321981 107.893344 PROJECTION 'proj=longlat' 'ellps=WGS84' 'datum=WGS84' 'no_defs' '' END IMAGECOLOR 192 192 192 IMAGEQUALITY 95 IMAGETYPE jpeg OUTPUTFORMAT NAME jpeg DRIVER 'GD/JPEG' MIMETYPE 'image/jpeg' #IMAGEMODE PC256 EXTENSION 'jpeg' END LEGEND IMAGECOLOR 255 255 255 STATUS ON KEYSIZE 18 12 LABEL TYPE BITMAP SIZE MEDIUM COLOR 0 0 89 END END WEB IMAGEPATH '/ms4w/tmp/ms_tmp/' IMAGEURL '/tmp/ms_tmp/' METADATA 'wms_title' 'world_raster' 'wms_onlineresource' 'http://my.host.com/cgi-bin/mapserv?map=wms.map; ' 'wms_srs' 'EPSG:4326' END END LAYER NAME 'world_raster' TYPE RASTER DATA '/ms4w/Apache/htdocs/world_raster.tif' METADATA 'wms_title' 'world_raster' END STATUS DEFAULT TRANSPARENCY 100 PROJECTION 'proj=longlat' 'ellps=WGS84' 'datum=WGS84' 'no_defs' '' END END END Page source (after I ran the code the html part saw the link to the image but didn't display it.): HTML HEAD TITLEExample 1: Displaying a map/TITLE /HEAD BODY IMG SRC=c:/ms4w/tmp/ms_tmp/4923f091_c84_0.jpeg /BODY /HTML ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
RE: [mapserver-users] The browser can't display the rendered image
Your image link in http is a direct link to your hard drive. I do not think your web server likes this. The ms_tmp directory has to be readable by apache, and therefore, it must be in the apache htdocs path, or specified in the httpd.conf file to be readable. HTH, r.b. Robert W. Burgholzer Surface Water Modeler Office of Water Supply and Planning Virginia Department of Environmental Quality [EMAIL PROTECTED] 804-698-4405 Open Source Modeling Tools: http://sourceforge.net/projects/npsource/ -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Attila Borbás Sent: Wednesday, November 19, 2008 3:23 PM To: mapserver-users@lists.osgeo.org Subject: [mapserver-users] The browser can't display the rendered image Hello, I still have got a problem. I ve tested my mapfiles (with quickmap.php) and they work fine, but the problem is the same. My php/mapscript code created the map image and saved it to /ms_tmp/ but the browser couldn't display it (I got a broken img). I enclose the php/mapscript file, the mapfile and the page source.Thx for ur help and patience. PHP/MAPSCRIPT FILE: ?php define( MAPFILE, /ms4w/apps/raster/raster.map ); define( MODULE, php_mapscript.dll ); if(!extension_loaded(mapscript)) dl(MODULE); $oMap = ms_newMapObj( MAPFILE ); //draw $oImage = $oMap-draw(); //output map $url = $oImage-saveWebImage(); ? HTML HEAD TITLEExample 1: Displaying a map/TITLE /HEAD BODY IMG SRC=?php echo $url; ? /BODY /HTML MAPFILE (I created it with qgis): MAP NAME world_raster SIZE 600 600 UNITS dd EXTENT -188.678212 -114.270312 189.321981 107.893344 PROJECTION 'proj=longlat' 'ellps=WGS84' 'datum=WGS84' 'no_defs' '' END IMAGECOLOR 192 192 192 IMAGEQUALITY 95 IMAGETYPE jpeg OUTPUTFORMAT NAME jpeg DRIVER 'GD/JPEG' MIMETYPE 'image/jpeg' #IMAGEMODE PC256 EXTENSION 'jpeg' END LEGEND IMAGECOLOR 255 255 255 STATUS ON KEYSIZE 18 12 LABEL TYPE BITMAP SIZE MEDIUM COLOR 0 0 89 END END WEB IMAGEPATH '/ms4w/tmp/ms_tmp/' IMAGEURL '/tmp/ms_tmp/' METADATA 'wms_title' 'world_raster' 'wms_onlineresource' 'http://my.host.com/cgi-bin/mapserv?map=wms.map;' 'wms_srs' 'EPSG:4326' END END LAYER NAME 'world_raster' TYPE RASTER DATA '/ms4w/Apache/htdocs/world_raster.tif' METADATA 'wms_title' 'world_raster' END STATUS DEFAULT TRANSPARENCY 100 PROJECTION 'proj=longlat' 'ellps=WGS84' 'datum=WGS84' 'no_defs' '' END END END Page source (after I ran the code the html part saw the link to the image but didn't display it.): HTML HEAD TITLEExample 1: Displaying a map/TITLE /HEAD BODY IMG SRC=c:/ms4w/tmp/ms_tmp/4923f091_c84_0.jpeg /BODY /HTML ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] The browser can't display the rendered image
Attila, It is strange, because the IMAGEURL in mapfile is correct, but the html generated from the script report IMG SRC=c:/ms4w/tmp/ms_tmp/4923f091_c84_0.jpeg, i.e. a local path and not a url. The correct tag should be something like IMG SRC=/tmp/ms_tmp/4923f091_c84_0.jpeg Are you sure the mapfile of the script is the same you are editing? ciao .pg On Mer, Novembre 19, 2008 21:22, Attila Borbás wrote: Hello, I still have got a problem. I ve tested my mapfiles (with quickmap.php) and they work fine, but the problem is the same. My php/mapscript code created the map image and saved it to /ms_tmp/ but the browser couldn't display it (I got a broken img). I enclose the php/mapscript file, the mapfile and the page source.Thx for ur help and patience. PHP/MAPSCRIPT FILE: ?php define( MAPFILE, /ms4w/apps/raster/raster.map ); define( MODULE, php_mapscript.dll ); if(!extension_loaded(mapscript)) dl(MODULE); $oMap = ms_newMapObj( MAPFILE ); //draw $oImage = $oMap-draw(); //output map $url = $oImage-saveWebImage(); ? HTML HEAD TITLEExample 1: Displaying a map/TITLE /HEAD BODY IMG SRC=?php echo $url; ? /BODY /HTML MAPFILE (I created it with qgis): MAP NAME world_raster SIZE 600 600 UNITS dd EXTENT -188.678212 -114.270312 189.321981 107.893344 PROJECTION 'proj=longlat' 'ellps=WGS84' 'datum=WGS84' 'no_defs' '' END IMAGECOLOR 192 192 192 IMAGEQUALITY 95 IMAGETYPE jpeg OUTPUTFORMAT NAME jpeg DRIVER 'GD/JPEG' MIMETYPE 'image/jpeg' #IMAGEMODE PC256 EXTENSION 'jpeg' END LEGEND IMAGECOLOR 255 255 255 STATUS ON KEYSIZE 18 12 LABEL TYPE BITMAP SIZE MEDIUM COLOR 0 0 89 END END WEB IMAGEPATH '/ms4w/tmp/ms_tmp/' IMAGEURL '/tmp/ms_tmp/' METADATA 'wms_title' 'world_raster' 'wms_onlineresource' 'http://my.host.com/cgi-bin/mapserv?map=wms.map; ' 'wms_srs' 'EPSG:4326' END END LAYER NAME 'world_raster' TYPE RASTER DATA '/ms4w/Apache/htdocs/world_raster.tif' METADATA 'wms_title' 'world_raster' END STATUS DEFAULT TRANSPARENCY 100 PROJECTION 'proj=longlat' 'ellps=WGS84' 'datum=WGS84' 'no_defs' '' END END END Page source (after I ran the code the html part saw the link to the image but didn't display it.): HTML HEAD TITLEExample 1: Displaying a map/TITLE /HEAD BODY IMG SRC=c:/ms4w/tmp/ms_tmp/4923f091_c84_0.jpeg /BODY /HTML ___ 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] png files with bbox
Hi all, I have some PNG files with bounding box. I am willing to publish them using MapServer WMS. I use the vrt file to specify geolocation like this: VRTDataset rasterXSize=720 rasterYSize=148 SRSWGS84/SRS GeoTransform-180, 0.5, 0.0, -37.0, 0.0, 0.5/GeoTransform VRTRasterBand dataType=Byte band=1 SimpleSource SourceFilename relativeToVRT=0surfRainMean2.png/SourceFilename SrcRect xOff=0 yOff=0 xSize=720 ySize=148/ DstRect xOff=0 yOff=0 xSize=720 ySize=148/ /SimpleSource /VRTRasterBand /VRTDataset But the MapServer outputs a total black image if output format is png, and outputs a black-white image if output format is gif. What should I do? Thanks. Peisheng _ Access your email online and on the go with Windows Live Hotmail. http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_access_112008___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] /ignored-libmap/oracle10g/libmap.dll?
why does 4.8 return mapserv(): Web application error. No template provided when using /ignored-libmap/oracle10g/libmap.dll for shapefile maps like on http://mapserver.gis.umn.edu/docs/howto/oracle_spatial_howto? ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] LABELREQUIRES Recursion Errors
Dear Folks, I am continually having issues with the LABELREQUIRES item in my MAP file. I have tried to write several expressions and continue to get recursion errors, even after following specific instruction: http://ms.gis.umn.edu/docs/reference/mapfile/layer LABELREQUIRES ![sampling1] Any thoughts? Cheers, Megan DiBiase ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Re: LABELREQUIRES Recursion Errors
Hi Again, The MAP File is here. See line 94 which causes the recursion error and let me know if you have a tip: http://codepad.org/gcRibLjg Thanks! Best Regards, Megan On Wed, Nov 19, 2008 at 1:54 PM, Megan DiBiase [EMAIL PROTECTED]wrote: Dear Folks, I am continually having issues with the LABELREQUIRES item in my MAP file. I have tried to write several expressions and continue to get recursion errors, even after following specific instruction: http://ms.gis.umn.edu/docs/reference/mapfile/layer LABELREQUIRES ![sampling1] Any thoughts? Cheers, Megan DiBiase ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] LABELREQUIRES Recursion Errors
What version? Recursion errors will occur if two layers reference each other or if a layer references itself. From your mapfile snippet that doesn't seem to be the case. It's a pretty lightly used feature so it's possible there is a flaw in the code. If you use just REQUIRES (so the whole layer would be off unless it passes the test) do you get the same error? Steve Megan DiBiase [EMAIL PROTECTED] 11/19/08 4:02 PM Dear Folks, I am continually having issues with the LABELREQUIRES item in my MAP file. I have tried to write several expressions and continue to get recursion errors, even after following specific instruction: http://ms.gis.umn.edu/docs/reference/mapfile/layer LABELREQUIRES ![sampling1] Any thoughts? Cheers, Megan DiBiase ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users