Beispiel #1
0
    def set_ows_request_from_query_string(self, query_string):
        log = logging.getLogger(__name__)
        ows_request = OWSRequest()

        # loadParamsFromURL causes a seg fault if passed an empty string.
        # Don't pass it an empty string...
        if ( ( type(query_string) == str ) and ( query_string.strip() != '' ) ):
            ows_request.loadParamsFromURL(query_string)

        if (ows_request.getValueByName('LAYER') is None):
            ows_request.addParameter('LAYER', self.layer_name)
            log.debug("Setting OWS paramater LAYER as not already set. Set to: %s", self.layer_name)

        if (ows_request.getValueByName('LAYERS') is None):
            ows_request.addParameter('LAYERS', self.layer_name)
            log.debug("Setting OWS paramater LAYERS as not already set. Set to: %s", self.layer_name)

        self.ows_request = ows_request
Beispiel #2
0
    def set_ows_request_from_query_string(self, query_string):
        log = logging.getLogger(__name__)
        ows_request = OWSRequest()

        # loadParamsFromURL causes a seg fault if passed an empty string.
        # Don't pass it an empty string...
        if ((type(query_string) == str) and (query_string.strip() != '')):
            ows_request.loadParamsFromURL(query_string)

        if (ows_request.getValueByName('LAYER') is None):
            ows_request.addParameter('LAYER', self.layer_name)
            log.debug(
                "Setting OWS paramater LAYER as not already set. Set to: %s",
                self.layer_name)

        if (ows_request.getValueByName('LAYERS') is None):
            ows_request.addParameter('LAYERS', self.layer_name)
            log.debug(
                "Setting OWS paramater LAYERS as not already set. Set to: %s",
                self.layer_name)

        self.ows_request = ows_request
#!/usr/bin/env python

# TODO - figure out how to add styles and layers in python...
# mapscript.styleObj
# mapscript.layerObj

from mapscript import mapObj, OWSRequest
m = mapObj('../mapfile_config/world.map')
e = m.extent
bbox = '%s,%s,%s,%s' % (e.minx,e.miny,e.maxx,e.maxy)
req = OWSRequest()
# The OWSRequest only wants strings...
req.setParameter("request", 'GetMap')
req.setParameter("bbox", bbox)
req.setParameter("width", '600')
req.setParameter("height", '300')
req.setParameter("srs", 'epsg:4326')
req.setParameter("format", 'image/png')
req.setParameter("layers", 'world')
m.loadOWSParameters(req)
image = m.draw()
image.save('world_mapscript_mapfile.png')
legend = m.drawLegend()
legend.save('world_mapscript_legend.png')
scalebar = m.drawScalebar()
scalebar.save('world_mapscript_scalebar.png')
sld = open('world_mapscipt_sld.xml','w')
sld.write(m.generateSLD())
sld.close()
# will save relative to mapfile by default
m.saveMapContext('../mapscript/world_mapscript_mapcontext.xml')
def wms(request):
    from mapscript import mapObj, OWSRequest
    wms = mapObj(settings.MAPSERVER_MAPFILE)
    req = OWSRequest()
    mime = request.GET['FORMAT']
    req.setParameter("bbox", request.GET['BBOX'])
    req.setParameter("width", request.GET['WIDTH'])
    req.setParameter("height", request.GET['HEIGHT'])
    req.setParameter("srs", request.GET['SRS'])
    req.setParameter("format", mime)
    req.setParameter("layers", request.GET['LAYERS'])
    req.setParameter("styles", request.GET['STYLES'])
    req.setParameter("request", "GetMap")
    wms.loadOWSParameters(req)
    image = wms.draw().getBytes()
    response = HttpResponse()
    response['Content-length'] = len(image)
    response['Content-Type'] = mime
    response.write(image)
    return response
Beispiel #5
0
#!/usr/bin/env python

# TODO - figure out how to add styles and layers in python...
# mapscript.styleObj
# mapscript.layerObj

from mapscript import mapObj, OWSRequest
m = mapObj('../mapfile_config/world.map')
e = m.extent
bbox = '%s,%s,%s,%s' % (e.minx, e.miny, e.maxx, e.maxy)
req = OWSRequest()
# The OWSRequest only wants strings...
req.setParameter("request", 'GetMap')
req.setParameter("bbox", bbox)
req.setParameter("width", '600')
req.setParameter("height", '300')
req.setParameter("srs", 'epsg:4326')
req.setParameter("format", 'image/png')
req.setParameter("layers", 'world')
m.loadOWSParameters(req)
image = m.draw()
image.save('world_mapscript_mapfile.png')
legend = m.drawLegend()
legend.save('world_mapscript_legend.png')
scalebar = m.drawScalebar()
scalebar.save('world_mapscript_scalebar.png')
sld = open('world_mapscipt_sld.xml', 'w')
sld.write(m.generateSLD())
sld.close()
# will save relative to mapfile by default
m.saveMapContext('../mapscript/world_mapscript_mapcontext.xml')