[GIS] Using Mapscript to create a mapfile from scratch

mapscriptmapserverpython

Following a few online tutorials I have seen, I am trying to create a mapfile from scratch using mapscript. However, when I try to create the layer object, I get an error in the init of mapscript.py; NameError: global name 'args' is not defined.

Does anyone see something obvious? When I use a mapfile that already exists on disk, everything works as expected.

        # create a new mapfile from scratch
        self.map = mapscript.mapObj()
        self.map.save('temp.map')
        self.map.setSize(256,256)
        self.map.setExtent(-180.0,-90.0,180.0,90.0)
        self.map.units= mapscript.MS_DD
        self.map.imagecolor.setRGB(255,255,255)

        # create a layer for the raster
        self.layer = mapscript.layerObj(self.map) ----> ERROR HAPPENS HERE
        self.layer.name= 'tilesource'
        self.layer.type= mapscript.MS_RASTER
        self.layer.status = mapscript.MS_ON
        self.layer.data= rasterpath

Best Answer

According to http://mapserver.org/mapscript/mapfile.html, creating a layer object works differently:

test_map = new mapscript.mapObj()
new_layer = new mapscript.layerObj()
li = test_map.insertLayer(new_layer)
Related Question