diff --git a/src/default_line.sld b/src/default_line.sld new file mode 100644 index 0000000000000000000000000000000000000000..2ba50e7b162de894f2fd7a3462b1e06e5a05d9f2 --- /dev/null +++ b/src/default_line.sld @@ -0,0 +1,18 @@ +<StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"> + <NamedLayer> + <Name>foo</Name> + <UserStyle> + <FeatureTypeStyle> + <Rule> + <Name>Class given in default</Name> + <LineSymbolizer> + <Stroke> + <CssParameter name="stroke">#FF7D3F</CssParameter> + <CssParameter name="stroke-width">1.5</CssParameter> + </Stroke> + </LineSymbolizer> + </Rule> + </FeatureTypeStyle> + </UserStyle> + </NamedLayer> +</StyledLayerDescriptor> \ No newline at end of file diff --git a/src/default_point.sld b/src/default_point.sld new file mode 100644 index 0000000000000000000000000000000000000000..ed5ee3f8652eb13eadedfbc982213b7f01f63977 --- /dev/null +++ b/src/default_point.sld @@ -0,0 +1,23 @@ +<StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"> + <NamedLayer> + <Name>foo</Name> + <UserStyle> + <FeatureTypeStyle> + <Rule> + <Name>Class given in default</Name> + <PointSymbolizer> + <Graphic> + <Size>6.0</Size> + <Mark> + <WellKnownName>circle</WellKnownName> + <Fill> + <CssParameter name="fill">#6D35AD</CssParameter> + </Fill> + </Mark> + </Graphic> + </PointSymbolizer> + </Rule> + </FeatureTypeStyle> + </UserStyle> + </NamedLayer> +</StyledLayerDescriptor> \ No newline at end of file diff --git a/src/default_polygon.sld b/src/default_polygon.sld new file mode 100644 index 0000000000000000000000000000000000000000..ae09b0e149591dcac524387b61b893f2332dbcb8 --- /dev/null +++ b/src/default_polygon.sld @@ -0,0 +1,21 @@ +<StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"> + <NamedLayer> + <Name>foo</Name> + <UserStyle> + <FeatureTypeStyle> + <Rule> + <Name>Class given in default</Name> + <PolygonSymbolizer> + <Fill> + <CssParameter name="fill">#95F9D6</CssParameter> + </Fill> + <Stroke> + <CssParameter name="stroke">#2AAB7E</CssParameter> + <CssParameter name="stroke-width">1</CssParameter> + </Stroke> + </PolygonSymbolizer> + </Rule> + </FeatureTypeStyle> + </UserStyle> + </NamedLayer> +</StyledLayerDescriptor> \ No newline at end of file diff --git a/src/mapfile.py b/src/mapfile.py index dff460df6d9d0b139488aa9ec4438bdfb2ac3531..e9f08d1ae4116ea1edce2c354db42f37770b44a3 100644 --- a/src/mapfile.py +++ b/src/mapfile.py @@ -31,6 +31,7 @@ import mapscript import urlparse import stores import metadata +import webapp import functools @@ -908,84 +909,24 @@ class Mapfile(MetadataMixin): model.configure_layer(ws, layer, l_enabled) - # Add a new class by default: if layer.ms.type == mapscript.MS_LAYER_POINT: - # TODO: move this sld in external files + layer.ms.tolerance = 8 + layer.ms.toleranceunits = 6 s_name = 'default_point' - style = '<StyledLayerDescriptor version="1.0.0" \ - xsi:schemaLocation="http://www.opengis.net/sld \ - http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"> \ - <NamedLayer> \ - <Name>foo</Name> \ - <UserStyle> \ - <FeatureTypeStyle> \ - <Rule> \ - <Name>Class given in default</Name> \ - <PointSymbolizer> \ - <Graphic> \ - <Size>6.0</Size> \ - <Mark> \ - <WellKnownName>cross</WellKnownName> \ - <Fill> \ - <CssParameter name="fill">#000000</CssParameter> \ - </Fill> \ - </Mark> \ - </Graphic> \ - </PointSymbolizer> \ - </Rule> \ - </FeatureTypeStyle> \ - </UserStyle> \ - </NamedLayer> \ - </StyledLayerDescriptor>' elif layer.ms.type == mapscript.MS_LAYER_LINE: - # TODO: move this sld in external files + layer.ms.tolerance = 8 + layer.ms.toleranceunits = 6 s_name = 'default_line' - style = '<StyledLayerDescriptor version="1.0.0" \ - xsi:schemaLocation="http://www.opengis.net/sld \ - http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"> \ - <NamedLayer> \ - <Name>foo</Name> \ - <UserStyle> \ - <FeatureTypeStyle> \ - <Rule> \ - <Name>Class given in default</Name> \ - <LineSymbolizer> \ - <Stroke> \ - <CssParameter name="stroke">#000000</CssParameter> \ - <CssParameter name="stroke-width">1.5</CssParameter> \ - </Stroke> \ - </LineSymbolizer> \ - </Rule> \ - </FeatureTypeStyle> \ - </UserStyle> \ - </NamedLayer> \ - </StyledLayerDescriptor>' elif layer.ms.type == mapscript.MS_LAYER_POLYGON: - # TODO: move this sld in external files + layer.ms.tolerance = 0 + layer.ms.toleranceunits = 6 s_name = 'default_polygon' - style = '<StyledLayerDescriptor version="1.0.0" \ - xsi:schemaLocation="http://www.opengis.net/sld \ - http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"> \ - <NamedLayer> \ - <Name>foo</Name> \ - <UserStyle> \ - <FeatureTypeStyle> \ - <Rule> \ - <Name>Class given in default</Name> \ - <PolygonSymbolizer> \ - <Fill> \ - <CssParameter name="fill">#C0C0C0</CssParameter> \ - </Fill> \ - <Stroke> \ - <CssParameter name="stroke">#000000</CssParameter> \ - <CssParameter name="stroke-width">1.25</CssParameter> \ - </Stroke> \ - </PolygonSymbolizer> \ - </Rule> \ - </FeatureTypeStyle> \ - </UserStyle> \ - </NamedLayer> \ - </StyledLayerDescriptor>' + + try: + style = open(os.path.join(os.path.dirname(__file__), "%s.sld" % s_name)).read() + except IOError, OSError: + raise IOError, OSError + layer.add_style_sld(self, s_name, style) layer.set_default_style(self, s_name)