| Version 85 (modified by jean.souza, 10 years ago) (diff) |
|---|
TerraMA² - Configuração BDQueimadas
PostgreSQL
1. Crie um banco de dados chamado queimadas.
2. Remova a role public da lista de acesso a este banco.
3. Crie as seguintes contas de usuário, sem privilégios de super-usuário:
- jean
- gribeiro
- appqueimadas
4. Atribua os seguintes privilégios:
GRANT connect ON DATABASE queimadas TO gribeiro, jean, appqueimadas; GRANT all ON DATABASE queimadas TO jean; GRANT SELECT ON ALL TABLES IN SCHEMA public TO gribeiro, appqueimadas;
5. Habilite a extensão unaccent para o banco de dados queimadas (essa é uma extensão do próprio PostgreSQL, basta habilitar).
GeoServer?
5. No GeoServer?, crie uma workspace:
Data -> Workspaces -> Add new workspace
Name: queimadas
Namespace URI: http://www.inpe.br/queimadas
6. Registre cada schema do servidor PostgreSQL como uma fonte de dados do GeoServer?:
Schema dados_geo:
Data -> Stores -> Add new Store -> PostGIS
As seguintes opções foram utilizadas:
Workspace: queimadas Data Source Name: queimadas-dados-geo Description: Banco de Dados de Queimadas - Schema dados_geo database: queimadas schema: dados_geo user: appqueimadas max connections: 16 fetch size: 5000 Loose bbox: true Estimated Extents: true encode functions: true Support on the fly geometry simplifictaion: false
Schema public:
Data -> Stores -> Add new Store -> PostGIS
As seguintes opções foram utilizadas:
Workspace: queimadas Data Source Name: queimadas-public Description: Banco de Dados de Queimadas - Schema public database: queimadas schema: public user: appqueimadas max connections: 16 fetch size: 5000 Loose bbox: true Estimated Extents: true encode functions: true Support on the fly geometry simplifictaion: false
7. Registre uma nova fonte de dados do GeoServer? para a camada raster Blue Marble:
Data -> Stores -> Add new Store -> ImagePyramid
As seguintes opções foram utilizadas:
Workspace: queimadas Data Source Name: queimadas-image-pyramid-blue-marble Description: Banco de Dados de Queimadas - Blue Marble URL: file:data/blue-marble-pyramid (URL da pasta da ImagePyramid)
8. Criar estilos para as camadas:
Data -> Styles -> Add a new style
Estilo Situação Atual:
Name: Situação Atual Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Situacao Atual</Name>
<UserStyle>
<Title>Situacao Atual</Title>
<FeatureTypeStyle>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>0</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#FFEBCD</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>0</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>101</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#FFC387</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>100</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>501</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#FAA046</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>500</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>1001</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#FA872D</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>1000</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>5001</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#FA5C25</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>5000</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>25001</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#C34231</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>25000</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>50001</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#A21C0D</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>count</ogc:PropertyName>
<ogc:Literal>50000</ogc:Literal>
</ogc:PropertyIsGreaterThan>
</ogc:Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#A21C0D</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Países:
Name: Países Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Paises</Name>
<UserStyle>
<Title>Paises</Title>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#FF8C00</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Labels dos Países:
Name: Labels dos Países Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Labels dos Paises</Name>
<UserStyle>
<Title>Labels dos Paises</Title>
<FeatureTypeStyle>
<Rule>
<PointSymbolizer>
<Geometry>
<ogc:PropertyName>geom</ogc:PropertyName>
</Geometry>
<Graphic>
<Mark>
<WellKnownName>circle</WellKnownName>
<Fill>
<CssParameter name="fill">#FF3300</CssParameter>
</Fill>
</Mark>
<Size>5</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<TextSymbolizer>
<Label>
<ogc:PropertyName>name_0</ogc:PropertyName>
</Label>
<LabelPlacement>
<PointPlacement>
<AnchorPoint>
<AnchorPointX>
<Literal>-0.1</Literal>
</AnchorPointX>
<AnchorPointY>
<Literal>0.5</Literal>
</AnchorPointY>
</AnchorPoint>
<Rotation>
<Literal>0</Literal>
</Rotation>
</PointPlacement>
</LabelPlacement>
<Font>
<CssParameter name="font-size">16</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">bold</CssParameter>
</Font>
<Fill>
<CssParameter name="fill">#FFFFFF</CssParameter>
</Fill>
<VendorOption name="conflictResolution">false</VendorOption>
<VendorOption name="partials">true</VendorOption>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Estados:
Name: Estados Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Estados</Name>
<UserStyle>
<Title>Estados</Title>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#FFFF00</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Labels dos Estados:
Name: Labels dos Estados Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Labels dos Estados</Name>
<UserStyle>
<Title>Labels dos Estados</Title>
<FeatureTypeStyle>
<Rule>
<PointSymbolizer>
<Geometry>
<ogc:PropertyName>geom</ogc:PropertyName>
</Geometry>
<Graphic>
<Mark>
<WellKnownName>circle</WellKnownName>
<Fill>
<CssParameter name="fill">#FF3300</CssParameter>
</Fill>
</Mark>
<Size>5</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<TextSymbolizer>
<Label>
<ogc:PropertyName>name_1</ogc:PropertyName>
</Label>
<LabelPlacement>
<PointPlacement>
<AnchorPoint>
<AnchorPointX>
<Literal>-0.1</Literal>
</AnchorPointX>
<AnchorPointY>
<Literal>0.5</Literal>
</AnchorPointY>
</AnchorPoint>
<Rotation>
<Literal>0</Literal>
</Rotation>
</PointPlacement>
</LabelPlacement>
<Font>
<CssParameter name="font-size">16</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">bold</CssParameter>
</Font>
<Fill>
<CssParameter name="fill">#FFFFFF</CssParameter>
</Fill>
<VendorOption name="conflictResolution">false</VendorOption>
<VendorOption name="partials">true</VendorOption>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Municípios:
Name: Municípios Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Municipios</Name>
<UserStyle>
<Title>Municipios</Title>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#00ffff</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Labels dos Municípios:
Name: Labels dos Municípios Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Labels dos Municipios</Name>
<UserStyle>
<Title>Labels dos Municipios</Title>
<FeatureTypeStyle>
<Rule>
<PointSymbolizer>
<Geometry>
<ogc:PropertyName>geom</ogc:PropertyName>
</Geometry>
<Graphic>
<Mark>
<WellKnownName>circle</WellKnownName>
<Fill>
<CssParameter name="fill">#FF3300</CssParameter>
</Fill>
</Mark>
<Size>5</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<TextSymbolizer>
<Label>
<ogc:PropertyName>name_2</ogc:PropertyName>
</Label>
<LabelPlacement>
<PointPlacement>
<AnchorPoint>
<AnchorPointX>
<Literal>-0.1</Literal>
</AnchorPointX>
<AnchorPointY>
<Literal>0.5</Literal>
</AnchorPointY>
</AnchorPoint>
<Rotation>
<Literal>0</Literal>
</Rotation>
</PointPlacement>
</LabelPlacement>
<Font>
<CssParameter name="font-size">16</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">bold</CssParameter>
</Font>
<Fill>
<CssParameter name="fill">#FFFFFF</CssParameter>
</Fill>
<VendorOption name="conflictResolution">false</VendorOption>
<VendorOption name="partials">true</VendorOption>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Focos:
Name: Focos Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Focos</Name>
<UserStyle>
<Title>Focos</Title>
<FeatureTypeStyle>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>AQUA-M</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#ea9388</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>AQUA-MEX</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#f8dbd7</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>AQUA_M-M</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#e36f60</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>AQUA_M-T</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#dc4b38</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>AQUA-T</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#f1b7af</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>ATSR</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#cc33cc</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>GOES-08</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#009688</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>GOES-10</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#33aba0</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>GOES-12</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#66c0b8</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>GOES-13</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#FF9933</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>METEOSAT-02</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#ffff00</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-12</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#8d6bc9</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-12D</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#d1c4e9</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-14</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#8ec5e1</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-15</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#a489d4</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-15D</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#e8e2f4</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-16</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#baa6df</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-16N</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#673ab7</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-17</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#69b2d7</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-18</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#FF6666</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-18D</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#b4d8eb</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-19</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#FF9999</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NOAA-19D</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#daecf5</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NPP</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#f8cd8f</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>NPP_375</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#f19b1f</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>TERRA-M</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#c9bbb6</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>TERRA-MEX</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#e4ddda</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>TERRA_M-M</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#FF0000</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>TERRA_M-T</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#FF6600</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>TERRA-T</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#af9991</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>satelite</ogc:PropertyName>
<ogc:Literal>TRMM</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>cross</WellKnownName>
<Fill>
<CssParameter name="fill">#999999</CssParameter>
</Fill>
</Mark>
<Size>8</Size>
</Graphic>
</PointSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Biomas Brasileiros:
Name: Biomas Brasileiros Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Biomas Brasileiros</Name>
<UserStyle>
<Title>Biomas Brasileiros</Title>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#b200ff</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Labels dos Biomas Brasileiros:
Name: Labels dos Biomas Brasileiros Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Labels dos Biomas Brasileiros</Name>
<UserStyle>
<Title>Labels dos Biomas Brasileiros</Title>
<FeatureTypeStyle>
<Rule>
<PointSymbolizer>
<Geometry>
<ogc:PropertyName>geom</ogc:PropertyName>
</Geometry>
<Graphic>
<Mark>
<WellKnownName>circle</WellKnownName>
<Fill>
<CssParameter name="fill">#FF3300</CssParameter>
</Fill>
</Mark>
<Size>5</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<TextSymbolizer>
<Label>
<ogc:PropertyName>nome</ogc:PropertyName>
</Label>
<LabelPlacement>
<PointPlacement>
<AnchorPoint>
<AnchorPointX>
<Literal>-0.1</Literal>
</AnchorPointX>
<AnchorPointY>
<Literal>0.5</Literal>
</AnchorPointY>
</AnchorPoint>
<Rotation>
<Literal>0</Literal>
</Rotation>
</PointPlacement>
</LabelPlacement>
<Font>
<CssParameter name="font-size">16</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">bold</CssParameter>
</Font>
<Fill>
<CssParameter name="fill">#FFFFFF</CssParameter>
</Fill>
<VendorOption name="conflictResolution">false</VendorOption>
<VendorOption name="partials">true</VendorOption>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Áreas Protegidas:
Name: Áreas Protegidas Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Areas Protegidas</Name>
<UserStyle>
<Title>Areas Protegidas</Title>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#00ff04</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Labels das Áreas Protegidas:
Name: Labels das Áreas Protegidas Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Labels das Areas Protegidas</Name>
<UserStyle>
<Title>Labels das Areas Protegidas</Title>
<FeatureTypeStyle>
<Rule>
<PointSymbolizer>
<Geometry>
<ogc:PropertyName>geom</ogc:PropertyName>
</Geometry>
<Graphic>
<Mark>
<WellKnownName>circle</WellKnownName>
<Fill>
<CssParameter name="fill">#FF3300</CssParameter>
</Fill>
</Mark>
<Size>5</Size>
</Graphic>
</PointSymbolizer>
</Rule>
<Rule>
<TextSymbolizer>
<Label>
<ogc:PropertyName>nome</ogc:PropertyName>
</Label>
<LabelPlacement>
<PointPlacement>
<AnchorPoint>
<AnchorPointX>
<Literal>-0.1</Literal>
</AnchorPointX>
<AnchorPointY>
<Literal>0.5</Literal>
</AnchorPointY>
</AnchorPoint>
<Rotation>
<Literal>0</Literal>
</Rotation>
</PointPlacement>
</LabelPlacement>
<Font>
<CssParameter name="font-size">16</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">bold</CssParameter>
</Font>
<Fill>
<CssParameter name="fill">#FFFFFF</CssParameter>
</Fill>
<VendorOption name="conflictResolution">false</VendorOption>
<VendorOption name="partials">true</VendorOption>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Buffer Áreas Protegidas:
Name: Buffer Áreas Protegidas Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Buffer Areas Protegidas</Name>
<UserStyle>
<Title>Buffer Areas Protegidas</Title>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#00ff04</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Hidrografia:
Name: Hidrografia Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Hidrografia</Name>
<UserStyle>
<Title>Hidrografia</Title>
<FeatureTypeStyle>
<Rule>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#0008ff</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Labels Hidrografia:
Name: Labels Hidrografia Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Labels Hidrografia</Name>
<UserStyle>
<Title>Labels Hidrografia</Title>
<FeatureTypeStyle>
<Rule>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#ff00d0</CssParameter>
<CssParameter name="stroke-width">0</CssParameter>
<CssParameter name="stroke-opacity">0</CssParameter>
</Stroke>
</LineSymbolizer>
<TextSymbolizer>
<Label>
<ogc:PropertyName>name</ogc:PropertyName>
</Label>
<LabelPlacement>
<LinePlacement/>
</LabelPlacement>
<Font>
<CssParameter name="font-size">14</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">bold</CssParameter>
</Font>
<Fill>
<CssParameter name="fill">#FFFFFF</CssParameter>
</Fill>
<VendorOption name="maxAngleDelta">40</VendorOption>
<VendorOption name="maxDisplacement">400</VendorOption>
<VendorOption name="repeat">150</VendorOption>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Rodovias:
Name: Rodovias Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Rodovias</Name>
<UserStyle>
<Title>Rodovias</Title>
<FeatureTypeStyle>
<Rule>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#ff00d0</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Estilo Labels das Rodovias:
Name: Labels das Rodovias Workspace: queimadas
Colar o seguinte texto na área de texto:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>Labels das Rodovias</Name>
<UserStyle>
<Title>Labels das Rodovias</Title>
<FeatureTypeStyle>
<Rule>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#ff00d0</CssParameter>
<CssParameter name="stroke-width">0</CssParameter>
<CssParameter name="stroke-opacity">0</CssParameter>
</Stroke>
</LineSymbolizer>
<TextSymbolizer>
<Label>
<ogc:PropertyName>name</ogc:PropertyName>
</Label>
<LabelPlacement>
<LinePlacement/>
</LabelPlacement>
<Font>
<CssParameter name="font-size">14</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">bold</CssParameter>
</Font>
<Fill>
<CssParameter name="fill">#FFFFFF</CssParameter>
</Fill>
<VendorOption name="maxAngleDelta">90</VendorOption>
<VendorOption name="maxDisplacement">10</VendorOption>
<VendorOption name="repeat">150</VendorOption>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
9. Criar as camadas para cada fonte de dados:
Fonte de dados queimadas-dados-geo:
Data -> Layers -> Add a new resource Add layer from: queimadas:queimadas-dados-geo
Obs.: o texto queimadas:queimadas-dados-geo é a concatenação de: workspace:store.
Iremos selecionar a opção Action: publish para as seguintes camadas:
- biomas_brasileiros
- buffer_10_terras_indigenas
- buffer_10_unidades_conservacao_estaduais
- buffer_10_unidades_conservacao_federais
- buffer_5_terras_indigenas
- buffer_5_unidades_conservacao_estaduais
- buffer_5_unidades_conservacao_federais
- estados
- hidrografia
- labels_biomas_brasileiros
- labels_estados
- labels_paises
- labels_protectedplanet
- labels_terras_indigenas
- labels_unidades_conservacao_estaduais
- labels_unidades_conservacao_federais
- municipios
- paises
- protectedplanet
- rodovias
- sedes_municipios
- terras_indigenas
- unidades_conservacao_estaduais
- unidades_conservacao_federais
Na aba Data, iremos Computar os bounding box dos layers (caso o Declared SRS não esteja preenchido, antes de realizar esse procedimento preencha o campo com o valor EPSG:4326):
- Bounding Boxes / Native Bounding Box
- Bounding Boxes / Lat/Lon? Bounding Box
Na aba Publishing iremos:
- Na seção WMS, selecionar o estilo correspondente a cada camada (Países, Estados, Municípios e Labels dos Municípios)
Fonte de dados queimadas-public:
Data -> Layers -> Add a new resource Add layer from: queimadas:queimadas-public
Obs.: o texto queimadas:queimadas-public é a concatenação de: workspace:store.
Iremos selecionar a opção Action: publish para as seguintes camadas:
- focos
Na aba Data, iremos Computar os bounding box do layer (caso o Declared SRS não esteja preenchido, antes de realizar esse procedimento preencha o campo com o valor EPSG:4326):
- Bounding Boxes / Native Bounding Box
- Bounding Boxes / Lat/Lon? Bounding Box
Na aba Publishing iremos:
- Na seção WMS, selecionar o estilo Focos
Fonte de dados queimadas-image-pyramid-blue-marble:
Data -> Layers -> Add a new resource Add layer from: queimadas:queimadas-image-pyramid-blue-marble
Obs.: o texto queimadas:queimadas-image-pyramid-blue-marble é a concatenação de: workspace:store.
Iremos selecionar a opção Action: publish para a camada que será exibida (o nome da camada vai variar de acordo com o nome da imagem usada para gerar a ImagePyramid?).
Na aba Data, iremos Computar os bounding box do layer (caso o Declared SRS não esteja preenchido, antes de realizar esse procedimento preencha o campo com o valor EPSG:4326):
- Bounding Boxes / Native Bounding Box
- Bounding Boxes / Lat/Lon? Bounding Box
10. Criar quatro novos layers a partir de consultas:
Para o primeiro layer:
- Na opção Layers -> Add new resource -> Add layer from: queimadas:queimadas-dados-geo -> Consigure new SQL view...
- Nome: situacao_atual_paises
- SQL:
select a.geom as geom, a.name_0 as country, sum(coalesce(b.count, 0)) as count from (select pais, count(pais) as count from public.focos where data_hora between '%begin%' and '%end%' and satelite in (%satellites%) and bioma_brasileiro in (%biomes%) group by pais) b right outer join dados_geo.paises a on (a.nome_bdq = b.pais) where a.id_0 in (%countries%) group by a.name_0, a.geom order by a.name_0
- Selecione: Guess parameters from SQL
- Remover a validação de expressão regular para todos os campos.
- Para o campo begin, colocar na coluna "Default value" o valor: 1970-01-01 00:00:00
- Para o campo end, colocar na coluna "Default value" o valor: 1970-01-01 23:59:59
- Para o campo satellites, colocar na coluna "Default value" o valor: null, '', ' 14:45', '1', '12', '13:25', '18.1', '19.3', '21.2', '3-09-10', '5.0 ', 'AQUA-M', 'AQUA-MEX', 'AQUA-T', 'AQUA_M-M', 'AQUA_M-T', 'ATSR', 'DSA_novoformato', 'GOES-08', 'GOES-10', 'GOES-12', 'GOES-13', 'METEOSAT-02', 'NOAA-12', 'NOAA-12D', 'NOAA-14', 'NOAA-15', 'NOAA-15D', 'NOAA-16', 'NOAA-16N', 'NOAA-17', 'NOAA-18', 'NOAA-18D', 'NOAA-19', 'NOAA-19D', 'NPP', 'NPP_375', 'TERRA-M', 'TERRA-MEX', 'TERRA-T', 'TERRA_M-M', 'TERRA_M-T', 'TRMM'
- Para o campo biomes, colocar na coluna "Default value" o valor: '', null, 'Amazonia', 'Caatinga', 'Cerrado', 'Mata Atlantica', 'Pampa', 'Pantanal'
- Para o campo countries, colocar na coluna "Default value" o valor: select id_0 from dados_geo.paises
- Save
- Declared SRS: EPSG:4326
- Compute from data
- Compute from native bounds
- Aba Publishing => WMS Settings - Default Style: queimadas:Situação Atual
- Save
Para o segundo layer:
- Na opção Layers -> Add new resource -> Add layer from: queimadas:queimadas-dados-geo -> Consigure new SQL view...
- Nome: situacao_atual_estados
- SQL:
select a.geom as geom, a.name_1 as state, coalesce(b.count, 0) as count from (select estado, count(estado) as count from public.focos where data_hora between '%begin%' and '%end%' and satelite in (%satellites%) and bioma_brasileiro in (%biomes%) group by estado) b right outer join dados_geo.estados a on (a.nome_bdq = b.estado) where id_0 in (%countries%)
- Selecione: Guess parameters from SQL
- Remover a validação de expressão regular para todos os campos.
- Para o campo begin, colocar na coluna "Default value" o valor: 1970-01-01 00:00:00
- Para o campo end, colocar na coluna "Default value" o valor: 1970-01-01 23:59:59
- Para o campo countries, colocar na coluna "Default value" o valor: 0
- Para o campo satellites, colocar na coluna "Default value" o valor: null, '', ' 14:45', '1', '12', '13:25', '18.1', '19.3', '21.2', '3-09-10', '5.0 ', 'AQUA-M', 'AQUA-MEX', 'AQUA-T', 'AQUA_M-M', 'AQUA_M-T', 'ATSR', 'DSA_novoformato', 'GOES-08', 'GOES-10', 'GOES-12', 'GOES-13', 'METEOSAT-02', 'NOAA-12', 'NOAA-12D', 'NOAA-14', 'NOAA-15', 'NOAA-15D', 'NOAA-16', 'NOAA-16N', 'NOAA-17', 'NOAA-18', 'NOAA-18D', 'NOAA-19', 'NOAA-19D', 'NPP', 'NPP_375', 'TERRA-M', 'TERRA-MEX', 'TERRA-T', 'TERRA_M-M', 'TERRA_M-T', 'TRMM'
- Para o campo biomes, colocar na coluna "Default value" o valor: '', null, 'Amazonia', 'Caatinga', 'Cerrado', 'Mata Atlantica', 'Pampa', 'Pantanal'
- Save
- Declared SRS: EPSG:4326
- Compute from data
- Compute from native bounds
- Aba Publishing => WMS Settings - Default Style: queimadas:Situação Atual
- Save
Para o terceiro layer:
- Na opção Layers -> Add new resource -> Add layer from: queimadas:queimadas-dados-geo -> Consigure new SQL view...
- Nome: situacao_atual_municipios
- SQL:
select a.geom as geom, a.name_2 as municipio, coalesce(b.count, 0) as count from (select municipio, count(municipio) as count from public.focos where data_hora between '%begin%' and '%end%' and satelite in (%satellites%) and bioma_brasileiro in (%biomes%) and estado in (%statesnames%) group by municipio) b right outer join dados_geo.municipios a on (unaccent(lower(a.name_2)) = unaccent(lower(b.municipio))) where substr(complete_id, 1, 7) in (%states%)
- Selecione: Guess parameters from SQL
- Remover a validação de expressão regular para todos os campos.
- Para o campo begin, colocar na coluna "Default value" o valor: 1970-01-01 00:00:00
- Para o campo end, colocar na coluna "Default value" o valor: 1970-01-01 23:59:59
- Para os campos states e statesnames, colocar na coluna "Default value" o valor: ''
- Para o campo satellites, colocar na coluna "Default value" o valor: null, '', ' 14:45', '1', '12', '13:25', '18.1', '19.3', '21.2', '3-09-10', '5.0 ', 'AQUA-M', 'AQUA-MEX', 'AQUA-T', 'AQUA_M-M', 'AQUA_M-T', 'ATSR', 'DSA_novoformato', 'GOES-08', 'GOES-10', 'GOES-12', 'GOES-13', 'METEOSAT-02', 'NOAA-12', 'NOAA-12D', 'NOAA-14', 'NOAA-15', 'NOAA-15D', 'NOAA-16', 'NOAA-16N', 'NOAA-17', 'NOAA-18', 'NOAA-18D', 'NOAA-19', 'NOAA-19D', 'NPP', 'NPP_375', 'TERRA-M', 'TERRA-MEX', 'TERRA-T', 'TERRA_M-M', 'TERRA_M-T', 'TRMM'
- Para o campo biomes, colocar na coluna "Default value" o valor: '', null, 'Amazonia', 'Caatinga', 'Cerrado', 'Mata Atlantica', 'Pampa', 'Pantanal'
- Save
- Declared SRS: EPSG:4326
- Compute from data
- Compute from native bounds
- Aba Publishing => WMS Settings - Default Style: queimadas:Situação Atual
- Save
Para o quarto layer:
- Na opção Layers -> Add new resource -> Add layer from: queimadas:queimadas-dados-geo -> Consigure new SQL view...
- Nome: situacao_atual_biomas
- SQL:
select a.geom as geom, a.nome as biome, sum(coalesce(b.count, 0)) as count from (select bioma_brasileiro, count(bioma_brasileiro) as count from public.focos where data_hora between '%begin%' and '%end%' and satelite in (%satellites%) and bioma_brasileiro in (%biomes%) group by bioma_brasileiro) b right outer join dados_geo.biomas_brasileiros a on (unaccent(lower(a.nome)) = unaccent(lower(b.bioma_brasileiro))) where 33 in (%countries%) group by a.nome, a.geom order by a.nome
- Selecione: Guess parameters from SQL
- Remover a validação de expressão regular para todos os campos.
- Para o campo begin, colocar na coluna "Default value" o valor: 1970-01-01 00:00:00
- Para o campo end, colocar na coluna "Default value" o valor: 1970-01-01 23:59:59
- Para o campo satellites, colocar na coluna "Default value" o valor: null, '', ' 14:45', '1', '12', '13:25', '18.1', '19.3', '21.2', '3-09-10', '5.0 ', 'AQUA-M', 'AQUA-MEX', 'AQUA-T', 'AQUA_M-M', 'AQUA_M-T', 'ATSR', 'DSA_novoformato', 'GOES-08', 'GOES-10', 'GOES-12', 'GOES-13', 'METEOSAT-02', 'NOAA-12', 'NOAA-12D', 'NOAA-14', 'NOAA-15', 'NOAA-15D', 'NOAA-16', 'NOAA-16N', 'NOAA-17', 'NOAA-18', 'NOAA-18D', 'NOAA-19', 'NOAA-19D', 'NPP', 'NPP_375', 'TERRA-M', 'TERRA-MEX', 'TERRA-T', 'TERRA_M-M', 'TERRA_M-T', 'TRMM'
- Para o campo biomes, colocar na coluna "Default value" o valor: '', null, 'Amazonia', 'Caatinga', 'Cerrado', 'Mata Atlantica', 'Pampa', 'Pantanal'
- Para o campo countries, colocar na coluna "Default value" o valor: select id_0 from dados_geo.paises
- Save
- Declared SRS: EPSG:4326
- Compute from data
- Compute from native bounds
- Aba Publishing => WMS Settings - Default Style: queimadas:Situação Atual
- Save
Aplicação Node.js
11. Instale o Node.js:
curl -sL https://deb.nodesource.com/setup_4.x sudo apt-get install -y nodejs
12. Instale o pacote do Ubuntu chamado build-essential:
sudo apt-get install -y build-essential
13. Crie uma pasta para hospedar a aplicação bdqueimadas:
mkdir ~/bdqueimadas cd ~/bdqueimadas git clone https://github.com/TerraMA2/bdqueimadas.git .
14. Execute os seguintes comandos:
npm install sudo npm install -g grunt-cli grunt
15. Na pasta configurations, forneça arquivos de configuração compatíveis com sua infreestrutura.
16. Volte para o diretório raiz do bdqueimadas e execute o comando abaixo se você for rodá-la pelo npm:
npm start
Por padrão o sistema vai rodar na porta 38000. Caso deseje alterar, acesse o arquivo bdqueimadas/bin/www:
var portNumber = '38000';
Verifique se você consegue acessar a aplicação pelo navegador: http://localhost:38000
17. Instalar o pm2 - "Advanced, production process manager for Node.js":
Site: http://pm2.keymetrics.io
npm install pm2 -g
Para inicializar a aplicação em backgroud:
cd ~/bdqueimadas pm2 start --name=bdqueimadas bin/www
Verifique se você consegue acessar a aplicação pelo navegador: http://localhost:38000
Para desligar o serviço:
pm2 stop bdqueimadas
Para desligar o serviço:
pm2 restart bdqueimadas
18. Instalar o nginx:
Site: https://www.nginx.com
sudo apt-get install nginx
Na pasta /etc/nginx/sites-enabled criar o arquivo queimadas com o seguinte conteúdo:
server {
server_name http://terrama2.dpi.inpe.br;
listen 6543;
location / {
proxy_read_timeout 600s;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:38000;
proxy_redirect off;
}
}
Na mesma pasta criar o arquivo geoserver com o seguinte conteúdo:
server {
server_name http://terrama2.dpi.inpe.br;
listen 6544;
location / {
proxy_read_timeout 600s;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:8080/queimadas-geoserver/;
proxy_redirect off;
}
}
19. Reinicialize o nginx:
sudo service nginx restart
Acesse os seguintes endereços no navegador para testar o acesso externo ao BDQueimadas e ao GeoServer?, respectivamente:
http://www.dpi.inpe.br/queimadas http://www.dpi.inpe.br/queimadas-geoserver
Dicas
A tabela estados possui 3496 linhas, com geometrias do tipo MultiPolygon?. Estas geometrias possuem em média 9935 vértices, sendo o total de 34.732.383 vértices. Considerando que cada vértices é formado por uma componente x e outra y, representadas por números de 8-bytes, temos um espaço de armazenamento em RAM de aproximadamente ~529.98 MiB.
SELECT SUM(ST_NPoints(geom)) AS num_pts, (SUM(ST_NPoints(geom)) * 2.0 * 8.0) / (1024.0*1024.0) FROM estados;
As geometrias (MultiPolygon?) da tabela paises, 256 linhas com cada geometria tendo em média 123.650, possuem 31.654.555 vértices, que ocupam aproximadamente ~483.01 MiB.
SELECT SUM(ST_NPoints(geom)) AS num_pts, (SUM(ST_NPoints(geom)) * 2.0 * 8.0) / (1024.0*1024.0) FROM paises;
As geometrias (Point) da tabela focos, 181.859 linhas, possuem 181.859 vértices, que ocupam aproximadamente ~2.77 MiB.
SELECT SUM(ST_NPoints(geom)) AS num_pts, (SUM(ST_NPoints(geom)) * 2.0 * 8.0) / (1024.0*1024.0) FROM focos_de_2016_04_01_a_2016_05_05;
No psql, podemos ativar a medição de tempo das operações com o seguinte comando:
\timing on
No psql, podemos redirecionar a saída das consultas para um arquivo:
\o /home/terrama2/Downloads/saida.txt
No psql, devemos alterar o alinhamento do texto produzido pela consulta:
\a
Para medir o tempo de recuperar todas as linhas de cada tabela do BDQueimadas:
\o /home/terrama2/Downloads/estados.txt SELECT * FROM estados; Time: 3733,414 ms \o /home/terrama2/Downloads/focos.txt SELECT * FROM focos_de_2016_04_01_a_2016_05_05; Time: 703,639 ms \o /home/terrama2/Downloads/paises.txt SELECT * FROM paises; Time: 4006,834 ms
Arquivos de Configurações (.json)
Abaixo estão documentados os arquivos de configurações do BDQueimadas. São arquivos .json que mantém configurações de diversos aspectos da aplicação.
1. Application.json
Arquivo que mantém configurações gerais da aplicação. Estrutura:
{
"BaseUrl": "/",
"InitialContinentToFilter": 8,
"InitialContinentCountries": [
{ "Id": 33, "Name": "Brasil" },
{ "Id": 75, "Name": "Islas Malvinas" },
{ "Id": 53, "Name": "Colombia" },
{ "Id": 68, "Name": "Ecuador" },
{ "Id": 98, "Name": "Guyana" },
{ "Id": 48, "Name": "Chile" },
{ "Id": 177, "Name": "Paraguai" },
{ "Id": 245, "Name": "Uruguai" },
{ "Id": 219, "Name": "Suriname" },
{ "Id": 249, "Name": "Venezuela" },
{ "Id": 178, "Name": "Peru" },
{ "Id": 28, "Name": "Bolivia" },
{ "Id": 80, "Name": "Guyana Francesa" },
{ "Id": 12, "Name": "Argentina" }
],
"DatePickerDefaultOptions": {
"maxDate": 0,
"markerClassName": "hasDatepicker",
"dateFormat": "yy/mm/dd",
"dayNames": ["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],
"dayNamesMin": ["D","S","T","Q","Q","S","S","D"],
"dayNamesShort": ["Dom","Seg","Ter","Qua","Qui","Sex","Sáb","Dom"],
"monthNames": ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],
"monthNamesShort": ["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],
"nextText": "Próximo",
"prevText": "Anterior"
},
"OGR2OGR": "C:/OSGeo4W64/bin/ogr2ogr.exe"
}
Opções:
BaseURL -> Caso a aplicação tenha um endereço base depois do endereço raiz, esse endereço deve ser especificado. Se o endereço da aplicação é http://www.dpi.inpe.br/queimadas/, o endereço raiz é http://www.dpi.inpe.br e o endereço base (que deve ser configurado) é /queimadas/. Caso não exista um endereço base, essa opção deve ter o valor /.
InitialContinentToFilter -> Continente a ser inicialmente filtrado.
InitialContinentCountries -> .
DatePickerDefaultOptions -> Configurações padrão do jQuery UI Datepicker.
OGR2OGR -> Comando ogr2ogr da GDAL (caso necessário deve ser configurado com o caminho, "C:/OSGeo4W64/bin/ogr2ogr.exe" por exemplo).
2. AttributesTable.json
Arquivo que mantém as configurações da tabela de atributos. Estrutura:
{
"Columns": [
{
"Name": "data",
"Alias": "",
"Order": "desc",
"String": false
}
]
}
Opções:
Columns -> Array de objetos que representam as colunas da tabela.
Name -> Nome da coluna (deve ser o mesmo nome que vem do banco de dados).
Alias -> Apelido para a coluna que será usado na exibição da tabela.
Order -> Ordenação da coluna, deve ser preenchido com "desc" para ordem decrescente, "asc" para ordem crescente ou null para que a coluna não seja usada na ordenação.
String -> Flag que indica se a coluna é do tipo string.
Documentação de Deploy da Aplicação BDQueimadas
1. PostgreSQL?
2. GeoServer
3. Aplicação?
