gws.lib.mapserver¶
MapServer support.
This module dynamically creates and renders MapServer maps.
To render a map, create a map object with new_map, add layers to it using add_ methods
and invoke draw.
Reference: MapServer documentation (https://mapserver.org/documentation.html)
Example usage:
import gws
import gws.lib.mapserver as ms
# create a new map
map = ms.new_map()
# add a raster layer from an image file
map.add_layer(
gws.MapServerLayerOptions(
type=gws.MapServerLayerType.raster,
path='/path/to/image.tif',
)
)
# add a layer using a configuration string
map.add_layer_from_config('''
LAYER
TYPE LINE
STATUS ON
FEATURE
POINTS
751539 6669003
751539 6672326
755559 6672326
END
END
CLASS
STYLE
COLOR 0 255 0
WIDTH 5
END
END
END
''')
# draw the map into an Image object
img = map.draw(
bounds=gws.Bounds(
extent=[738040, 6653804, 765743, 6683686],
crs=gws.lib.crs.WEBMERCATOR,
),
size=(800, 600),
)
# save the image to a file
img.to_path('/path/to/output.png')
Source code: gws.lib.mapserver
Submodules¶
Package Contents¶
- class gws.lib.mapserver.Map(config: str = '')¶
MapServer map object wrapper.
- mapObj: mapscript.mapObj¶
- add_layer(opts: gws.MapServerLayerOptions) mapscript.layerObj¶
Adds a layer to the map.
- add_layer_from_config(config: str) mapscript.layerObj¶
Adds a layer to the map using a configuration string.
- draw(bounds: gws.Bounds, size: gws.Size) gws.Image¶
Renders the map within the given bounds and size.
- Parameters:
bounds – The spatial extent to render.
size – The output image size.
- Returns:
The rendered map image.
- style_symbol(style: gws.StyleValues) mapscript.styleObj¶
- to_string() str¶
Converts the map object to a configuration string.
- gws.lib.mapserver.version() str¶
Returns the MapServer version string.