Commit f4323330 authored by Felix Delattre's avatar Felix Delattre

initial commit of legacy code

parents
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map [
<!ENTITY % entities SYSTEM "inc/entities.xml.inc">
%entities;
<!ENTITY my-layer SYSTEM "inc/layers/all-obm-buildings.xml.inc">
]>
<!-- <Map background-color="transparent" srs="&srs900913;" minimum-version="2.0.0"> -->
<Map background-image="&symbols;all-obm-buildings-background.png" srs="&srs900913;" minimum-version="2.0.0">
&fontset-settings;
&my-layer;
</Map>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map [
<!ENTITY % entities SYSTEM "inc/entities.xml.inc">
%entities;
<!ENTITY my-layer SYSTEM "inc/layers/building-use.xml.inc">
]>
<Map background-color="transparent" srs="&srs900913;" minimum-version="2.0.0">
&fontset-settings;
&my-layer;
</Map>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map [
<!ENTITY % entities SYSTEM "inc/entities.xml.inc">
%entities;
<!ENTITY my-layer SYSTEM "inc/layers/building.xml.inc">
]>
<Map background-color="transparent" srs="&srs900913;" minimum-version="2.0.0">
&fontset-settings;
&my-layer;
</Map>
<!--
$Id: datasource-settings-wgs84.xml.inc 2192 2019-07-01 13:55:56Z tyrone $
Settings for your postgres setup.
Note: feel free to leave password, host, port, or use blank
For help see: https://github.com/mapnik/mapnik/wiki/PostGIS
-->
<Parameter name="type">postgis</Parameter>
<Parameter name="host">localhost</Parameter>
<!-- Parameter name="port">5432</Parameter -->
<Parameter name="dbname">gis</Parameter>
<Parameter name="user">osm</Parameter>
<Parameter name="password">OpStMa</Parameter>
<!--
DEPRECATED:
<Parameter name="asynchronous_request">true</Parameter>
-->
<Parameter name="max_size">64</Parameter>
<Parameter name="max_async_connection">16</Parameter>
<Parameter name="srid">4326</Parameter>
<!-- this should be 'false' if you are manually providing the 'extent' -->
<Parameter name="estimate_extent">false</Parameter>
<!-- manually provided extent in epsg 4326 for whole globe -->
<!-- providing this speeds up Mapnik database queries -->
<Parameter name="extent">-180,-90,180,90</Parameter>
<!--
$Id: datasource-settings.xml.inc 2226 2019-08-16 09:58:44Z tyrone $
Settings for your postgres setup.
Note: feel free to leave password, host, port, or use blank
For help see: https://github.com/mapnik/mapnik/wiki/PostGIS
-->
<Parameter name="type">postgis</Parameter>
<Parameter name="host">localhost</Parameter>
<!-- Parameter name="port">5432</Parameter -->
<Parameter name="dbname">gis</Parameter>
<Parameter name="user">osm</Parameter>
<Parameter name="password">OpStMa</Parameter>
<!--
DEPRECATED:
<Parameter name="asynchronous_request">true</Parameter>
-->
<Parameter name="max_size">64</Parameter>
<Parameter name="max_async_connection">16</Parameter>
<Parameter name="srid">900913</Parameter>
<!-- this should be 'false' if you are manually providing the 'extent' -->
<Parameter name="estimate_extent">false</Parameter>
<!-- manually provided extent in epsg 900913 for whole globe -->
<!-- providing this speeds up Mapnik database queries -->
<Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
<!ENTITY % settings SYSTEM "settings.xml.inc">
%settings;
<!ENTITY srs900913 "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
<!ENTITY srs3857 "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
<!-- this should also work in the "Map" tag:
srs="+init=epsg:3857"
-->
<!ENTITY srsmercator "+proj=merc +datum=WGS84 +over">
<!ENTITY srs4326 "+init=epsg:4326">
<!-- instead of defining it here one can provide this in the "Map"/"Layer" tag as
srs="+init=epsg:4326"
-->
<!-- NOT IN USE
<!ENTITY % layers SYSTEM "layers.xml.inc">
%layers;
-->
<!-- use the '&srs900913;' entity if you have called osm2pgsql without special flags (or with -m); use '&srs4326;' if you have used -l -->
<!ENTITY osm2pgsql_projection "&srs4326;">
<!ENTITY obm_projection "&srs900913;">
<!-- NOT IN USE AT OpenBuildingMap -->
<!-- used for 'node in way' ST_DWithin spatial operations -->
<!-- Use 0.1 (meters) when your database is in 900913 -->
<!-- Use 0.000001 (degrees) when your database is in 4326 -->
<!--
<!ENTITY dwithin_900913 "0.1">
<!ENTITY dwithin_4326 "0.00001">
<!ENTITY dwithin_node_way "&dwithin_900913;">
-->
<!-- use 'world_boundaries', which is the usual naming for the local folder the coastline shapefiles are unzipped into -->
<!--
<!ENTITY world_boundaries "./world_boundaries/">
-->
<!-- use 'planet_osm' unless you have customized your database table prefix using the osm2pgsql 'prefix' flag -->
<!ENTITY prefix "planet_osm">
<!ENTITY maxscale_zoom0 "<MaxScaleDenominator>250000000000</MaxScaleDenominator>">
<!ENTITY maxscale_zoom1 "<MaxScaleDenominator>500000000</MaxScaleDenominator>">
<!ENTITY minscale_zoom1 "<MinScaleDenominator>200000000</MinScaleDenominator>">
<!ENTITY maxscale_zoom2 "<MaxScaleDenominator>200000000</MaxScaleDenominator>">
<!ENTITY minscale_zoom2 "<MinScaleDenominator>100000000</MinScaleDenominator>">
<!ENTITY maxscale_zoom3 "<MaxScaleDenominator>100000000</MaxScaleDenominator>">
<!ENTITY minscale_zoom3 "<MinScaleDenominator>50000000</MinScaleDenominator>">
<!ENTITY maxscale_zoom4 "<MaxScaleDenominator>50000000</MaxScaleDenominator>">
<!ENTITY minscale_zoom4 "<MinScaleDenominator>25000000</MinScaleDenominator>">
<!ENTITY maxscale_zoom5 "<MaxScaleDenominator>25000000</MaxScaleDenominator>">
<!ENTITY minscale_zoom5 "<MinScaleDenominator>12500000</MinScaleDenominator>">
<!ENTITY maxscale_zoom6 "<MaxScaleDenominator>12500000</MaxScaleDenominator>">
<!ENTITY minscale_zoom6 "<MinScaleDenominator>6500000</MinScaleDenominator>">
<!ENTITY maxscale_zoom7 "<MaxScaleDenominator>6500000</MaxScaleDenominator>">
<!ENTITY minscale_zoom7 "<MinScaleDenominator>3000000</MinScaleDenominator>">
<!ENTITY maxscale_zoom8 "<MaxScaleDenominator>3000000</MaxScaleDenominator>">
<!ENTITY minscale_zoom8 "<MinScaleDenominator>1500000</MinScaleDenominator>">
<!ENTITY maxscale_zoom9 "<MaxScaleDenominator>1500000</MaxScaleDenominator>">
<!ENTITY minscale_zoom9 "<MinScaleDenominator>750000</MinScaleDenominator>">
<!ENTITY maxscale_zoom10 "<MaxScaleDenominator>750000</MaxScaleDenominator>">
<!ENTITY minscale_zoom10 "<MinScaleDenominator>400000</MinScaleDenominator>">
<!ENTITY maxscale_zoom11 "<MaxScaleDenominator>400000</MaxScaleDenominator>">
<!ENTITY minscale_zoom11 "<MinScaleDenominator>200000</MinScaleDenominator>">
<!ENTITY maxscale_zoom12 "<MaxScaleDenominator>200000</MaxScaleDenominator>">
<!ENTITY minscale_zoom12 "<MinScaleDenominator>100000</MinScaleDenominator>">
<!ENTITY maxscale_zoom13 "<MaxScaleDenominator>100000</MaxScaleDenominator>">
<!ENTITY minscale_zoom13 "<MinScaleDenominator>50000</MinScaleDenominator>">
<!ENTITY maxscale_zoom14 "<MaxScaleDenominator>50000</MaxScaleDenominator>">
<!ENTITY minscale_zoom14 "<MinScaleDenominator>25000</MinScaleDenominator>">
<!ENTITY maxscale_zoom15 "<MaxScaleDenominator>25000</MaxScaleDenominator>">
<!ENTITY minscale_zoom15 "<MinScaleDenominator>12500</MinScaleDenominator>">
<!ENTITY maxscale_zoom16 "<MaxScaleDenominator>12500</MaxScaleDenominator>">
<!ENTITY minscale_zoom16 "<MinScaleDenominator>5000</MinScaleDenominator>">
<!ENTITY maxscale_zoom17 "<MaxScaleDenominator>5000</MaxScaleDenominator>">
<!ENTITY minscale_zoom17 "<MinScaleDenominator>2500</MinScaleDenominator>">
<!ENTITY maxscale_zoom18 "<MaxScaleDenominator>2500</MaxScaleDenominator>">
<!ENTITY minscale_zoom18 "<MinScaleDenominator>1250</MinScaleDenominator>">
<!ENTITY maxscale_zoom19 "<MaxScaleDenominator>1250</MaxScaleDenominator>">
<!ENTITY minscale_zoom19 "">
<Include>
<!--Settings for Mapnik Fonts
To see the fonts you have installed with Mapnik do (if python is installed):
ls `python -c "import mapnik;print mapnik.fontscollectionpath"`-->
<FontSet name="book-fonts">
<Font face-name="DejaVu Sans Book" />
<Font face-name="Unifont Medium" />
</FontSet>
<FontSet name="bold-fonts">
<Font face-name="DejaVu Sans Bold" />
<Font face-name="Unifont Medium" />
</FontSet>
<FontSet name="oblique-fonts">
<Font face-name="DejaVu Sans Oblique" />
<Font face-name="Unifont Medium" />
</FontSet>
</Include>
<!-- Link zur Legende: https://obmwiki.gem.gfz-potsdam.de/doku.php?id=obm:color:building-levels -->
<Style name="buildinglevels">
<!-- not-classified building:levels -->
<Rule>
<Filter>[building_levels] != '' and [building_levels] != 'UNKNOWN'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#f00"/>
<LineSymbolizer stroke="#a00000" stroke-width="1"/>
</Rule>
<!-- levels=0 -->
<Rule>
<Filter>[building_levels] = '0'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#966"/>
<LineSymbolizer stroke="#795151" stroke-width="1"/>
</Rule>
<!-- levels=1 -->
<Rule>
<Filter>[building_levels] = '1'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#94bd5e"/>
<LineSymbolizer stroke="#71983e" stroke-width="1"/>
</Rule>
<!-- levels=2 -->
<Rule>
<Filter>[building_levels] = '2'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#5c8526"/>
<LineSymbolizer stroke="#496a1e" stroke-width="1"/>
</Rule>
<!-- levels=3 -->
<Rule>
<Filter>[building_levels] = '3'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#355e00"/>
<LineSymbolizer stroke="#2a4a00" stroke-width="1"/>
</Rule>
<!-- levels=4 -->
<Rule>
<Filter>[building_levels] = '4'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#0cc"/>
<LineSymbolizer stroke="#007778" stroke-width="1"/>
</Rule>
<!-- levels=5 -->
<Rule>
<Filter>[building_levels] = '5'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#47b8b8"/>
<LineSymbolizer stroke="#2d7373" stroke-width="1"/>
</Rule>
<!-- levels=6 -->
<Rule>
<Filter>[building_levels] = '6'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#33a3a3"/>
<LineSymbolizer stroke="#226d6e" stroke-width="1"/>
</Rule>
<!-- levels=7 -->
<Rule>
<Filter>[building_levels] = '7'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#198a8a"/>
<LineSymbolizer stroke="#136667" stroke-width="1"/>
</Rule>
<!-- levels=8 -->
<Rule>
<Filter>[building_levels] = '8'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#23b8dc"/>
<LineSymbolizer stroke="#156c81" stroke-width="1"/>
</Rule>
<!-- levels=9 -->
<Rule>
<Filter>[building_levels] = '9'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#09f"/>
<LineSymbolizer stroke="#006bb6" stroke-width="1"/>
</Rule>
<!-- levels=10 -->
<Rule>
<Filter>[building_levels] = '10'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#0047ff"/>
<LineSymbolizer stroke="#002ea2" stroke-width="1"/>
</Rule>
<!-- levels=11-15 -->
<Rule>
<Filter>[building_levels] = '11'
or [building_levels] = '12'
or [building_levels] = '13'
or [building_levels] = '14'
or [building_levels] = '15'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#c9f"/>
<LineSymbolizer stroke="#8d1dff" stroke-width="1"/>
</Rule>
<!-- levels=16-20 -->
<Rule>
<Filter>[building_levels] = '16'
or [building_levels] = '17'
or [building_levels] = '18'
or [building_levels] = '19'
or [building_levels] = '20'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#606"/>
<LineSymbolizer stroke="#460045" stroke-width="1"/>
</Rule>
<!-- levels=21-30 -->
<Rule>
<Filter>[building_levels] = '21'
or [building_levels] = '22'
or [building_levels] = '23'
or [building_levels] = '24'
or [building_levels] = '25'
or [building_levels] = '26'
or [building_levels] = '27'
or [building_levels] = '28'
or [building_levels] = '29'
or [building_levels] = '30' </Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#639"/>
<LineSymbolizer stroke="#4b2571" stroke-width="1"/>
</Rule>
<!-- levels>30 -->
<Rule>
<Filter>[building_levels] = '31'
or [building_levels] = '32'
or [building_levels] = '33'
or [building_levels] = '34'
or [building_levels] = '35'
or [building_levels] = '36'
or [building_levels] = '37'
or [building_levels] = '38'
or [building_levels] = '39'
or [building_levels] = '40'
or [building_levels] = '41'
or [building_levels] = '42'
or [building_levels] = '43'
or [building_levels] = '44'
or [building_levels] = '45'
or [building_levels] = '46'
or [building_levels] = '47'
or [building_levels] = '48'
or [building_levels] = '49'
or [building_levels] = '50'
or [building_levels] = '51'
or [building_levels] = '52'
or [building_levels] = '53'
or [building_levels] = '54'
or [building_levels] = '55'
or [building_levels] = '56'
or [building_levels] = '57'
or [building_levels] = '58'
or [building_levels] = '59'
or [building_levels] = '60'
or [building_levels] = '61'
or [building_levels] = '62'
or [building_levels] = '63'
or [building_levels] = '64'
or [building_levels] = '65'
or [building_levels] = '66'
or [building_levels] = '67'
or [building_levels] = '68'
or [building_levels] = '69'
or [building_levels] = '70'
or [building_levels] = '71'
or [building_levels] = '72'
or [building_levels] = '73'
or [building_levels] = '74'
or [building_levels] = '75'
or [building_levels] = '76'
or [building_levels] = '77'
or [building_levels] = '78'
or [building_levels] = '79'
or [building_levels] = '80'
or [building_levels] = '81'
or [building_levels] = '82'
or [building_levels] = '83'
or [building_levels] = '84'
or [building_levels] = '85'
or [building_levels] = '86'
or [building_levels] = '87'
or [building_levels] = '88'
or [building_levels] = '89'
or [building_levels] = '90'
or [building_levels] = '91'
or [building_levels] = '92'
or [building_levels] = '93'
or [building_levels] = '94'
or [building_levels] = '95'
or [building_levels] = '96'
or [building_levels] = '97'
or [building_levels] = '98'
or [building_levels] = '99'
or [building_levels] = '100'
or [building_levels] = '101'
or [building_levels] = '102'
or [building_levels] = '103'
or [building_levels] = '104'
or [building_levels] = '105'
or [building_levels] = '106'
or [building_levels] = '107'
or [building_levels] = '108'
or [building_levels] = '109'
or [building_levels] = '110' </Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#306"/>
<LineSymbolizer stroke="#230046" stroke-width="1"/>
</Rule>
<Rule>
<Filter>[building_levels] = 'UNKNOWN'</Filter>
&maxscale_zoom12;
<PolygonSymbolizer fill-opacity="1" fill="#666"/>
<LineSymbolizer stroke="#3f3f3f" stroke-width="1"/>
</Rule>
</Style>
<!-- let's see what we have: -->
<Layer name="buildinglevels" status="on" srs="&osm2pgsql_projection;">
<StyleName>buildinglevels</StyleName>
<Datasource>
<Parameter name="table">
(
SELECT way, coalesce(building_levels, 'UNKNOWN') AS building_levels
FROM exp_building
-- WHERE building_levels IS NOT NULL
ORDER BY z_order, way_area DESC
) AS foo
</Parameter>
&datasource-settings;
</Datasource>
</Layer>
<!-- Legende siehe: https://obmwiki.gem.gfz-potsdam.de/doku.php?id=obm:color:floor-space -->
<Style name="floor-space">
<!-- #floor_space unknown -->
<Rule>
<Filter>[status] = 0</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#666"/>
<LineSymbolizer stroke="#3f3f3f" stroke-width="1"/>
</Rule>
<!-- 0-500 sqm -->
<Rule>
<Filter>[floor_space] &gt; 0
and [floor_space] &lt; 500
or [floor_space] = 500</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#a3ee3b"/>
<LineSymbolizer stroke="#009900" stroke-width="1"/>
</Rule>
<!-- 500-1000 sqm -->
<Rule>
<Filter>[floor_space] &gt; 500
and [floor_space] &lt; 1000
or [floor_space] = 1000</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#df0"/>
<LineSymbolizer stroke="#a0b800" stroke-width="1"/>
</Rule>
<!-- 1000-1500 sqm -->
<Rule>
<Filter>[floor_space] &gt; 1000
and [floor_space] &lt; 1500
or [floor_space] = 1500</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#ff0"/>
<LineSymbolizer stroke="#d3d600" stroke-width="1"/>
</Rule>
<!-- 1500-2000 sqm -->
<Rule>
<Filter>[floor_space] &gt; 1500
and [floor_space] &lt; 2000
or [floor_space] = 2000</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#eedd33"/>
<LineSymbolizer stroke="#d8cb00" stroke-width="1"/>
</Rule>
<!-- 2000-4000 sqm -->
<Rule>
<Filter>[floor_space] &gt; 2000
and [floor_space] &lt; 4000
or [floor_space] = 4000</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#fc0"/>
<LineSymbolizer stroke="#deb200" stroke-width="1"/>
</Rule>
<!-- 4000-6000 sqm -->
<Rule>
<Filter>[floor_space] &gt; 4000
and [floor_space] &lt; 6000
or [floor_space] = 6000</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#fa0"/>
<LineSymbolizer stroke="#d08900" stroke-width="1"/>
</Rule>
<!--- 6000-8000 sqm -->
<Rule>
<Filter>[floor_space] &gt; 6000
and [floor_space] &lt; 8000
or [floor_space] = 8000</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#f70"/>
<LineSymbolizer stroke="#da6700" stroke-width="1"/>
</Rule>
<!-- 8000-10000 sqm -->
<Rule>
<Filter>[floor_space] &gt; 8000
and [floor_space] &lt; 10000
or [floor_space] = 10000</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#f40"/>
<LineSymbolizer stroke="#d80000" stroke-width="1"/>
</Rule>
<!-- >10000 sqm -->
<Rule>
<Filter>[floor_space] &gt; 10000</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#dd3b17"/>
<LineSymbolizer stroke="#d60000" stroke-width="1"/>
</Rule>
<!-- text sqm -->
<Rule>
<Filter>[status] = 1</Filter>
&maxscale_zoom17;
<TextSymbolizer face-name="DejaVu Sans Book" size="10" fill="black" halo-fill="white" halo-radius="1.5" placement="interior" allow-overlap="true">[floor_space]+' m&#178;'</TextSymbolizer>
</Rule>
</Style>
<!-- format numbers in SQL: btrim(to_char(floor_space, '999G999G999D99')) -->
<!-- round(floor_space::numeric, 0) -->
<!--
TODO:
three significant digits:
https://www.garysieling.com/blog/postgres-significant-figures-pg_size_pretty
from https://stackoverflow.com/questions/35752542/round-to-significant-number-of-digits-in-postgres:
round(x*power(10, sd-1-floor(log(abs(x))))) / power(10, sd-1-floor(log(abs(x))))
where x is your number and sd is significant digits.
-->
<!-- Render only select building types starting at z10. -->
<Layer name="floor-space" status="on" srs="&osm2pgsql_projection;">
<StyleName>floor-space</StyleName>
<Datasource>
<Parameter name="table">
(
SELECT way,
round(coalesce(floor_space, -1)::numeric, 0) AS floor_space,
CASE
WHEN floor_space IS NOT NULL THEN 1::int
WHEN floor_space IS NULL THEN 0::int
ELSE -1::int
END AS status
FROM exp_building
) AS foo
</Parameter>
&datasource-settings;
</Datasource>
</Layer>
<!-- Legende siehe: https://obmwiki.gem.gfz-potsdam.de/doku.php?id=obm:color:ground-area -->
<Style name="ground-area">
<!-- #ground_area unknown -->
<Rule>
<Filter>[ground_area] = ''</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#666"/>
<LineSymbolizer stroke="#3f3f3f" stroke-width="1"/>
</Rule>
<!-- 0-50 sqm -->
<Rule>
<Filter>[ground_area] &gt; 0
and [ground_area] &lt; 50
or [ground_area] = 50</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#cff"/>
<LineSymbolizer stroke="#00d3d6" stroke-width="1"/>
</Rule>
<!-- 50-100 sqm -->
<Rule>
<Filter>[ground_area] &gt; 50
and [ground_area] &lt; 100
or [ground_area] = 100</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#0cc"/>
<LineSymbolizer stroke="#007778" stroke-width="1"/>
</Rule>
<!-- 100-150 sqm -->
<Rule>
<Filter>[ground_area] &gt; 100
and [ground_area] &lt; 150
or [ground_area] = 150</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#198a8a"/>
<LineSymbolizer stroke="#136667" stroke-width="1"/>
</Rule>
<!-- 150-200 sqm -->
<Rule>
<Filter>[ground_area] &gt; 150
and [ground_area] &lt; 200
or [ground_area] = 200</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#366"/>
<LineSymbolizer stroke="#254949" stroke-width="1"/>
</Rule>
<!-- 200-300 sqm -->
<Rule>
<Filter>[ground_area] &gt; 200
and [ground_area] &lt; 300
or [ground_area] = 300</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#9cf"/>
<LineSymbolizer stroke="#006ad6" stroke-width="1"/>
</Rule>
<!-- 300-400 sqm -->
<Rule>
<Filter>[ground_area] &gt; 300
and [ground_area] &lt; 400
or [ground_area] = 400</Filter>
&maxscale_zoom10;
<PolygonSymbolizer fill-opacity="1" fill="#00b8ff"/>
<LineSymbolizer stroke="#0076a2" stroke-width="1"/>
</Rule>
<!--- 400-500 sqm -->
<Rule>
<Filter>[ground_area] &gt; 400