Hello,

I did some tests with the WXS warpper in PHP Mapscript as well.
I used MapServer version 6.0.0
Base is a working map file (datasource is a postgresql database) which
produces maps and capability documents using plain WMS requests like

http://localhost/cgi-bin/mapserv_600?map=postgis.map&REQUEST=GetMAP&SERVICE=WMS&version=1.1.1&SRS=EPSG:4326&WIDTH=600&HEIGHT=600&LAYERS=geobilder&STYLES=&FORMAT=image/png&TRANSPARENT=true&BBOX=5.86628568,47.27360151,15.0486318,55.05826185

If I am trying to send a GetMap request with the WXS Mapscript wrapper I
run into trouble as well.
I am able to request the Capability document but never managed to get a
Map request working

Therefore one question.
If I print out the members of the OWSRequestObj
(http://mapserver.org/mapscript/php/index.html#owsrequestobj)
what would be the expected values?

My sample script shows:
printf('numparams: %d - type: %s', $owsRequest-> numparams,
$owsRequest->type );
numparams: 10 - type: 4294967295
                        ^^^^^

The number of parameters are correct, but according to the documentation
(int type (read-only): MS_GET_REQUEST or MS_POST_REQUEST) I would expect
something like 0 or 1 for the 'type' member
var_dump( MS_GET_REQUEST );
int(0)

var_dump( MS_POST_REQUEST);
int(1)

Could it be that something is going wrong here?

Thanks.
Best regards
Nicol


Am Freitag, den 09.09.2011, 11:44 -0500 schrieb Fawcett, David (MPCA):
> DNS issue, should be fixed by Monday...   ; ('
> 
> -----Original Message-----
> From: Mr. Puneet Kishor [mailto:punk.k...@gmail.com] 
> Sent: Friday, September 09, 2011 10:00 AM
> To: Fawcett, David (MPCA)
> Cc: mapserver-users@lists.osgeo.org
> Subject: Re: [mapserver-users] MapScript WMS request
> 
> David,
> 
> 
> On Sep 9, 2011, at 9:47 AM, Fawcett, David (MPCA) wrote:
> 
> > Puneet, 
> > 
> > Using MapServer CGI and layer.MapServer would not set you up well for other 
> > client libraries, so I see your point.  It can be viable though.
> > 
> > In this app (just an imagemap, not OL), there are no attribute values 
> > associated with the spatial data.  The classes are generated on-the-fly and 
> > the county id's for each class are passed in as URL vars.  Same thing for 
> > the legend.  This allows flexibility for compounds who's emissions may vary 
> > from tens of pounds to millions of pounds.
> > 
> > This approach may not work for your case, but it is another way to slice 
> > it...
> 
> 
> Possibly. See, it is crucially important for me to be able to generate 
> classes on the fly, and with a lot of flexibility. Not just that, the 
> criteria for generating the classes can change. So, what I am doing actually 
> is setting up a separate application that does nothing but respond with class 
> information. The mapping application (and, any other application, for that 
> matter), would query this class generating application and make the classes 
> as per the latest information. Hence, my need for MapScripting. Well, there 
> are other reasons as well, but this is an important one.
> 
> 
> > 
> > http://www.pca.state.mn.us/index.php/topics/environmental-data/eda-environmental-data-access/eda-air-quality-searches/eda-air-quality-search-emissions-by-county-data.html
> 
> 
> 
> By the way, the app above is not working. I get broken images, and the 
> following errors in the web inspector (that might help you troubleshoot)
> 
> ----
> GET http://www.pca.state.mn.us/oea/css/master.css 404 (Not Found)
> 
> emissions.cfm:28 ReferenceError: Can't find variable: urchinTracker
> 
> GET http://maps.pca.state.mn.us/cgi-bin/mapserv? ..snipped.. A server with 
> the specified hostname could not be found.
> 
> GET http://maps.pca.state.mn.us/cgi-bin/mapserv? ..snipped.. A server with 
> the specified hostname could not be found.
> 
> GET 
> http://cf.pca.state.mn.us/data/edaAir/artwork/edaP2results_edaAmbientResultsPollutantsJuly_04.gif
>  404 (Not Found)
> 
> master-print.cssGET http://www.pca.state.mn.us/oea/css/master-print.css 404 
> (Not Found)
> ----
> 
> 
> 
> > 
> > David.
> > 
> > -----Original Message-----
> > From: mapserver-users-boun...@lists.osgeo.org 
> > [mailto:mapserver-users-boun...@lists.osgeo.org] On Behalf Of Mr. Puneet 
> > Kishor
> > Sent: Friday, September 09, 2011 9:35 AM
> > To: mapserver-users@lists.osgeo.org
> > Subject: Re: [mapserver-users] MapScript WMS request
> > 
> > 
> > On Sep 9, 2011, at 8:39 AM, Fawcett, David (MPCA) wrote:
> > 
> >> Puneet, 
> >> 
> >> As far as I know, OpenLayers still has support for a layer based on 
> >> MapServer CGI.  Because MapServer can also serve up WMS well, this layer 
> >> type isn't necessarily recommended or as well supported.  
> >> 
> >> http://dev.openlayers.org/docs/files/OpenLayers/Layer/MapServer-js.html
> > 
> > 
> > 
> > Indeed David. Because, going by the docs, the MapServer CGI calls are 
> > discouraged (or so it seems), I'd rather not invest in that path. This is a 
> > long term project that I am working on, so the foundations have to be very 
> > robust. Besides, I may or may not use OL. While I like OL a lot, I am also 
> > looking at other frameworks (Gmaps, Leaflet, Polymaps), and it would be 
> > wise to decouple the backend from the front-end as much as possible.
> > 
> > I have no issues with using WMS, but I just am unable to get MapServer WMS 
> > to work via MapScript. And, yes, I do have to use MapScript if I can help 
> > it -- my layer classification is generated on demand, and MapScript is the 
> > easiest way I can think of for doing that.
> > 
> > I did find yesterday that `mode=tile` works really well, but I am trying to 
> > make that work with MapScript. A separate email thread for that question.
> > 
> > 
> > 
> > 
> >> 
> >> David.
> >> 
> >> -----Original Message-----
> >> From: mapserver-users-boun...@lists.osgeo.org 
> >> [mailto:mapserver-users-boun...@lists.osgeo.org] On Behalf Of Mr. Puneet 
> >> Kishor
> >> Sent: Thursday, September 08, 2011 9:32 PM
> >> To: Daniel Morissette
> >> Cc: mapserver-users@lists.osgeo.org
> >> Subject: Re: [mapserver-users] MapScript WMS request
> >> 
> >> 
> >> On Sep 8, 2011, at 8:28 PM, Daniel Morissette wrote:
> >> 
> >>> On 11-09-08 09:02 PM, Mr. Puneet Kishor wrote:
> >>>> 
> >>>> On Sep 8, 2011, at 7:43 PM, Daniel Morissette wrote:
> >>>>> 
> >>>>> Maybe call $map->save("/tmp/my.map") in your script after the map and 
> >>>>> layer have been populated and paste the result... that may give us a 
> >>>>> hint...
> >>>>> 
> >>>> 
> >>>> wow! this is a super-awesome debugging technique. I have sent you the 
> >>>> map file off list to not pollute the entire list serve.
> >>>> 
> >>> 
> >>> I was able to reproduce the issue with the copy of the mapfile you sent 
> >>> off-list.
> >>> 
> >>> It turns out that mappostgis.c's msPostGISLayerGetExtent() is hardcoded 
> >>> to always return
> >>> 
> >>> {minx = -25000000, miny = -25000000, maxx = 25000000, maxy = 25000000}
> >>> 
> >>> ...and then it returns MS_SUCCESS.
> >>> 
> >>> I think this function should either be left unimplemented (this way 
> >>> MapServer would fallback on other mechanisms), or return MS_FAILURE to 
> >>> indicate to the calling code that it didn't do anything useful.
> >>> 
> >>> A quick search indicates an open ticket about the issue:
> >>> 
> >>> http://trac.osgeo.org/mapserver/ticket/3585
> >>> 
> >>> You could bump the ticket and hope someone works on it at the FOSS4G code 
> >>> sprint next week.
> >>> 
> >>> The short term fix for you would be to set the "ows_extent" metadata in 
> >>> your layer:
> >>> 
> >>>  METADATA
> >>>    "ows_extent" "-180 -90 180 90"
> >>> ...
> >>>  END
> >>> 
> >> 
> >> 
> >> Thanks Daniel. I will bump the ticket. For now, see below --
> >> 
> >> Using the "my.map" file I sent you, with no further modifications to it, I 
> >> am able to successfully get an image back via 
> >> [http://localhost.local/cgi-bin/gmna?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=-180,-90,180,90&SRS=EPSG:4326&WIDTH=1200&HEIGHT=600&LAYERS=gmna&STYLES=&FORMAT=image/png&TRANSPARENT=true]
> >> 
> >> Note, no further modifications is required, that is, not even the 
> >> "ows_extent" "-180 -90 180 90" bit in the layer METADATA. and I still get 
> >> a good image.
> >> 
> >> 
> >> However, if I use the following program to access the same map file, I get 
> >> the spurious "minx = -25000000, miny = -25000000, maxx = 25000000, maxy = 
> >> 25000000" in the GetCapabilities.
> >> 
> >> Finally, if I add the "ows_extent" "-180 -90 180 90" line in the layer 
> >> METADATA in the "my.map" file, the GetCapabilities returns the correct 
> >> bounds now, however, the image is still blank.
> >> 
> >>    #!/opt/local/bin/perl
> >>    
> >>    use strict;
> >>    use mapscript;
> >>    
> >>    my $wms = new mapscript::OWSRequest();
> >>    $wms->setParameter("SERVICE", "WMS" );
> >>    $wms->setParameter("VERSION", "1.1.1" );
> >>    $wms->setParameter("REQUEST", "GetMap" );
> >>    $wms->setParameter("BBOX", "-180,-90,180,90" );
> >>    $wms->setParameter("LAYERS", "gmna");
> >>    $wms->setParameter("SRS", "EPSG:4326");
> >>    $wms->setParameter("WIDTH", "1200");
> >>    $wms->setParameter("HEIGHT", "600");
> >>    $wms->setParameter("FORMAT", "image/png");
> >>    $wms->setParameter("TRANSPARENT", "true");
> >>    
> >>    my $map = new 
> >> mapscript::mapObj("/Users/punkish/Sites/test/mapscript/my.map");
> >>    
> >>    if(!$map) {
> >>            warn "New mapObj() error: $mapscript::ms_error->{message}\n";
> >>    }
> >>    
> >>    my $io = mapscript::msIO_installStdoutToBuffer();
> >>    my $dispatch_out = $map->OWSDispatch( $wms );
> >>    printf "%s\n", mapscript::msIO_getStdoutBufferString();
> >> 
> >> I have now spent an enormous amount of time on this, and for now, I have 
> >> to move on. This is just not working out. Maybe I will try some other 
> >> technique, perhaps this mode=tile to see if I can get MapServer powered 
> >> maps in my apps.
> >> 
> >> Thanks much for your help. If you (or anyone else) can come up with a 
> >> bright idea, I will be happy to try it.
> >> 
> >> Puneet.
> >> 
> >> _______________________________________________
> >> 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 mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to