| Version 124 (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:
{
"Port": "31000",
"BaseUrl": "/",
"InitialContinentToFilter": 8,
"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:
Port -> Porta a ser utilizada para o acesso ao sistema.
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 -> Id do continente inicial a ser filtrado.
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": [
{
"TableAlias": "FiresTable",
"Name": "data_hora",
"Alias": "Data / Hora",
"ExportAlias": "DataHora",
"Order": "desc",
"String": false
}
]
}
Opções:
Columns -> Array de objetos que representam as colunas da tabela.
TableAlias -> Apelido da tabela que possuí a coluna. Caso seja a tabela de focos o valor de ser 'FiresTable' e caso seja a tabela de áreas industriais, o valor deve ser 'IndustrialAreasTable'.
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.
ExportAlias -> Apelido para a coluna que será usado na exportação.
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.
3. Database.json
Arquivo que mantém as configurações de conexão com o banco de dados. Estrutura:
{
"Port": 5432,
"Host": "127.0.0.1",
"Database": "test",
"User": "postgres",
"Password": "postgres",
"MaxNumberOfClientsInThePool": 30,
"IdleTimeoutMillis": 30000
}
Opções:
Port -> Porta de acesso ao banco de dados.
Host -> Ip ou endereço do host.
Database -> Nome do banco de dados.
User -> Usuário do banco de dados.
Password -> Senha do banco de dados.
MaxNumberOfClientsInThePool -> Número máximo de clientes no pool de conexões.
IdleTimeoutMillis -> Tempo que um cliente pode ficar sem uso no pool de conexões antes de ser removido.
4. Filter.json
Arquivo que mantém as configurações dos filtros da aplicação. Estrutura:
{
"LayerToFilter": {
"LayerId": "bdqueimadas:focos",
"IdFieldName": "id_foco_bdq",
"LatitudeFieldName": "latitude",
"LongitudeFieldName": "longitude",
"DateTimeFieldName": "data_hora_gmt",
"SatelliteFieldName": "satelite",
"CityFieldName": "municipio_complete_id",
"CityNameFieldName": "municipio",
"StateFieldName": "estado_complete_id",
"StateNameFieldName": "estado",
"CountryFieldName": "pais_complete_id",
"CountryNameFieldName": "pais",
"ContinentFieldName": "continente_id",
"PrecipitationFieldName": "precipitacao",
"NumberOfDaysWithoutPrecipitationFieldName": "numero_dias_sem_chuva",
"RiskFieldName": "risco_fogo",
"BiomeFieldName": "bioma",
"SpecialRegionsFieldName": "id_regiao_especial_text",
"IndustrialFiresFieldName": "id_area_industrial",
"DateFormat": "YYYY-MM-DD",
"DateTimeFormat": "YYYY-MM-DD HH:II:SS",
"InitialDate": "{{-|1|d=YYYY-MM-DD}}",
"FinalDate": "{{0=YYYY-MM-DD}}"
},
"CurrentSituationLayers": {
"Layers": [
"BDQueimadas:current_situation_countries",
"BDQueimadas:current_situation_states",
"BDQueimadas:current_situation_cities",
"BDQueimadas:current_situation_biomes"
],
"DateFormat": "YYYY-MM-DD",
"InitialDate": "{{-|1|d=YYYY-MM-DD}}",
"FinalDate": "{{0=YYYY-MM-DD}}"
},
"CountriesLayer": {
"Id": "BDQueimadas:paises_multi",
"ContinentField": "continente_id"
},
"CountriesLabelsLayer": {
"Id": "BDQueimadas:labels_paises",
"ContinentField": "continente_id"
},
"StatesLayer": {
"Id": "BDQueimadas:estados",
"CountryField": "id_0"
},
"StatesLabelsLayer": {
"Id": "BDQueimadas:labels_estados",
"CountryField": "id_0"
},
"CitiesLayer": {
"Id": "BDQueimadas:municipios",
"CountryField": "id_0",
"StateField": "complete_id",
"CityField": "complete_id"
},
"CitiesLabelsLayer": {
"Id": "BDQueimadas:sedes_municipios",
"CountryField": "id_0",
"StateField": "complete_id",
"CityField": "complete_id"
},
"SpecialRegionsLayer": {
"Id": "BDQueimadas:regioes_especiais"
},
"IndustrialAreasLayer": {
"Id": "BDQueimadas:areas_industriais"
},
"SpatialFilter": {
"Continents": {
"MinResolution": 0.35,
"MaxResolution": "Infinity"
},
"Countries": {
"MinResolution": 0.080,
"MaxResolution": 0.35
},
"States": {
"MinResolution": 0,
"MaxResolution": 0.080
}
},
"Extents": {
"Continents": {
"4": "-190,1.6823687752355312,-4.5,86.81763122476447"
},
"Countries": {
"244": "-195,14.02086137281292,-60,75.97913862718708"
},
"States": {
"2440002": "-195,44.43674293405114,-125,76.56325706594886"
},
"SpecialRegions": {},
"ProtectedAreas": {
"UCE": {},
"UCF": {},
"TI": {}
},
"Cities": {}
},
"Satellites": [
{
"Id": "NOAA-12",
"Name": "NOAA-12 Noite",
"Begin": "1998-06-01",
"End": "2007-08-09",
"Current": false,
"Selected": false,
"ReferenceBegin": "1998-06-01",
"ReferenceEnd": "2002-07-03",
"ReferenceCurrent": false
}
]
}
Opções:
LayerToFilter -> Objeto que representa a camada principal a ser filtrada (camada de focos).
LayerId -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).
IdFieldName -> Nome do campo de id.
LatitudeFieldName -> Nome do campo de latitude.
LongitudeFieldName -> Nome do campo de longitude.
DateTimeFieldName -> Nome do campo de data / hora.
SatelliteFieldName -> Nome do campo de satélite.
CityFieldName -> Nome do campo de id de cidade.
CityNameFieldName -> Nome do campo de nome de cidade.
StateFieldName -> Nome do campo de id de estado.
StateNameFieldName -> Nome do campo de nome de estado.
CountryFieldName -> Nome do campo de id de país.
CountryNameFieldName -> Nome do campo de nome de país.
ContinentFieldName -> Nome do campo de id de continente.
PrecipitationFieldName -> Nome do campo de precipitação.
NumberOfDaysWithoutPrecipitationFieldName -> Nome do campo de número de dias sem chuva.
RiskFieldName -> Nome do campo de risco de fogo.
BiomeFieldName -> Nome do campo de bioma.
SpecialRegionsFieldName -> Nome do campo de regiões especiais.
IndustrialFiresFieldName -> Nome do campo de áreas industriais.
DateFormat -> Formato de data utilizado na camada.
DateTimeFormat -> Formato de data / hora utilizado na camada.
InitialDate -> Data inicial a ser utilizada no filtro. Pode-se utilizar datas literais (hardcoded) ou padrões baseados nas datas do filtro e / ou data atual (clique aqui para entender os padrões).
FinalDate -> Data final a ser utilizada no filtro. Pode-se utilizar datas literais (hardcoded) ou padrões baseados nas datas do filtro e / ou data atual (clique aqui para entender os padrões).
CurrentSituationLayers -> Camadas de situação atual.
Layers -> Array com os ids das camadas (nomes das camadas no GeoServer, com as workspaces inclusas).
DateFormat -> Formato de data utilizado nas camadas.
InitialDate -> Data inicial a ser utilizada nas camadas. Pode-se utilizar datas literais (hardcoded) ou padrões baseados nas datas do filtro e / ou data atual (clique aqui para entender os padrões).
FinalDate -> Data final a ser utilizada nas camadas. Pode-se utilizar datas literais (hardcoded) ou padrões baseados nas datas do filtro e / ou data atual (clique aqui para entender os padrões).
CountriesLayer -> Camada de países.
Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).
ContinentField -> Nome do campo de id de continente.
CountriesLabelsLayer -> Camada de labels de países.
Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).
ContinentField -> Nome do campo de id de continente.
StatesLayer -> Camada de estados.
Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).
CountryField -> Nome do campo de id de país.
StatesLabelsLayer -> Camada de labels de estados.
Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).
CountryField -> Nome do campo de id de país.
CitiesLayer -> Camada de cidades.
Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).
CountryField -> Nome do campo de id de país.
StateField -> Nome do campo de id de estado.
CityField -> Nome do campo de id de cidade.
CitiesLabelsLayer -> Camada de labels de cidades.
Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).
CountryField -> Nome do campo de id de país.
StateField -> Nome do campo de id de estado.
CityField -> Nome do campo de id de cidade.
SpecialRegionsLayer -> Camada de regiões especiais.
Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).
IndustrialAreasLayer -> Camada de áreas industriais.
Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).
SpatialFilter -> Dados de resoluções a serem utilizados quando o usuário da duplo clique no mapa, dependendo da resolução será selecionado continente, país ou estado. Caso a resolução máxima desejada seja infinita, deve ser utilizada a string "Infinity".
Continents -> Resoluções referentes aos continentes.
MinResolution -> Resolução mínima.
MaxResolution -> Resolução máxima.
Countries -> Resoluções referentes aos países.
MinResolution -> Resolução mínima.
MaxResolution -> Resolução máxima.
States -> Resoluções referentes aos estados.
MinResolution -> Resolução mínima.
MaxResolution -> Resolução máxima.
Extents -> Extents personalizados para serem utilizados no mapa (o formato é chave valor, JSON, sendo a chave o id do item e o valor o extent, com os valores separados por vírgulas).
Continents -> Lista de extents de continentes.
Countries -> Lista de extents de países.
States -> Lista de extents de estados.
SpecialRegions -> Lista de extents de regiões especiais.
ProtectedAreas -> Extents de áreas protegidas.
UCE -> Lista de extents de unidades de conservação estaduais.
UCF -> Lista de extents de unidades de conservação federais.
TI -> Lista de extents de terras indígenas.
Cities -> Lista de extents de cidades.
Satellites -> Satélites a serem listados no filtro.
Id -> Id do satélite (essa dado deve ser o mesmo presente na tabela de focos).
Name -> Nome a ser exibido na listagem.
Begin -> Início da vigência do satélite.
End -> Fim da vigência do satélite (utilizar string vazia caso ele ainda seja válido).
Current -> Flag que indica se o satélite ainda é válido.
Selected -> Flag que indica se o satélite deve vir selecionado por padrão no filtro.
ReferenceBegin -> Início da vigência do satélite como referência (utilizar string vazia caso não se aplique).
ReferenceEnd -> Fim da vigência do satélite como referência (utilizar string vazia caso não se aplique).
ReferenceCurrent -> Flag que indica se atualmente o satélite é referência.
5. Graphics.json
Arquivo que mantém as configurações dos gráficos da aplicação. Estrutura:
{
"FiresCount": [
{
"Order": 1,
"Id": "firesByCountry",
"Y": "{pais}",
"Key": "pais",
"Title": "Focos por País",
"Limit": null,
"Expanded": true,
"PAGraphic": false,
"IgnoreCountryFilter": false,
"IgnoreStateFilter": false,
"IgnoreCityFilter": false,
"ShowOnlyIfThereIsACountryFiltered": false,
"ShowOnlyIfThereIsNoCountryFiltered": false,
"ShowOnlyIfThereIsAStateFiltered": false,
"ShowOnlyIfThereIsNoStateFiltered": false
}
]
}
Opções:
FiresCount -> Lista de gráficos de contagem de focos.
Order -> A posição do gráfico entre todos os existentes.
Id -> Id do gráfico.
Y -> Padrão da informação de indicação de cada linha do gráfico (string). Quando se deseja exibir o dado de um campo retornado no banco de dados, o nome do campo deve ser inserido entre {}.
Key -> Chave do gráfico (é o campo que será utilizado para agrupar os focos, se o gráfico for de contagem de focos por país por exemplo, a 'Key' será 'pais').
Title -> Título dos gráficos.
Limit -> Limite de linhas do gráfico, caso não se aplique o valor deve ser null.
Expanded -> Flag que indica se o gráfico deve estar expandido por padrão.
PAGraphic -> Flag que indica se o gráfico é de focos por área protegida.
IgnoreCountryFilter -> Flag que indica se o filtro de país deve ser ignorado.
IgnoreStateFilter -> Flag que indica se o filtro de estado deve ser ignorado.
IgnoreCityFilter -> Flag que indica se o filtro de cidade deve ser ignorado.
ShowOnlyIfThereIsACountryFiltered -> Flag que indica se o gráfico deve ser exibido apenas quando existem países filtrados.
ShowOnlyIfThereIsNoCountryFiltered -> Flag que indica se o gráfico deve ser exibido apenas quando não existem países filtrados.
ShowOnlyIfThereIsAStateFiltered -> Flag que indica se o gráfico deve ser exibido apenas quando existem estados filtrados.
ShowOnlyIfThereIsNoStateFiltered -> Flag que indica se o gráfico deve ser exibido apenas quando não existem estados filtrados.
6. Map.json
Arquivo que mantém as configurações do mapa. Estrutura:
{
"Subtitles": [
{
"Id": "fires-subtitles",
"LayerId": "bdqueimadas:focos",
"LayerName": "Camada: Focos",
"Subtitles": [
{
"SubtitleId": "AQUA-M",
"SubtitleText": "AQUA-M",
"FillColor": null,
"BorderColor": null,
"Image": "bdqueimadas/images/satellitesIcons/aqua-m.png",
"MinResolution": 0,
"MaxResolution": "Infinity"
}
]
}
],
"UseLayerGroupsInTheLayerExplorer": true,
"EnableAddAndRemoveLayers": false,
"Layers": [
{
"Id": "layers",
"Name": "Camadas",
"LayerGroup": true,
"Layers": [
{
"Id": "bdqueimadas:regioes_especiais",
"Name": "Regiões Especiais",
"Title": "Regiões Especiais",
"LayerGroup": false,
"Background": false,
"Wmts": false,
"Visible": true,
"Disabled": false,
"AddsInTheStart": true,
"AppendAtTheEnd": true,
"DontAddToLayerExplorer": true,
"Params": {
"TerraMA2WebComponentsFunction": "addOSMLayer",
"ImagerySet": "AerialWithLabels",
"BingMapsKey": "qwertyuioasdfgjh",
"Url": "https://prodwww-queimadas.dgi.inpe.br/geoserver/ows",
"ServerType": "geoserver",
"MinResolution": 0,
"MaxResolution": "Infinity",
"Time": "1997-01-01/2012-12-31",
"Time": "{{FINAL_DATE=YYYY-MM-DD}}",
"Time": "{{-|1|d=YYYY-MM-DD}}",
"Buffer": 512,
"Classes": "unsortable unsortable-separator float-left clear-none",
"Style": "left: 85px;",
"MinTimeForTodaysImage": "18:00:00",
"Version": "1.1.0",
"Format": "image/jpeg",
"MatrixSet": "EPSG4326_250m",
"TileGrid": {
"origin": [-180, 90],
"resolutions": [0.5625, 0.28125, 0.140625, 0.0703125, 0.03515625, 0.017578125, 0.0087890625, 0.00439453125, 0.002197265625],
"matrixIds": [0, 1, 2, 3, 4, 5, 6, 7, 8],
"tileSize": 512
},
"TimeYear": "ano",
"TimeMonth": "mes",
"TimeDay": "dia"
}
}
]
}
]
}
Opções:
Subtitles -> Lista de legendas.
Id -> Id da legenda.
LayerId -> Id da camada a que a legenda corresponde.
LayerName -> Nome da camada a que a legenda corresponde.
Subtitles -> Lista de itens da legenda.
SubtitleId -> Id do item.
SubtitleText -> Nome do item.
FillColor -> Cor de preenchimento (caso não se aplique o valor deve ser null).
BorderColor -> Cor da borda (caso não se aplique o valor deve ser null).
Image -> Caminho de uma imagem (o caminho deve ser referente ao endereço raiz da aplicação, e caso não se aplique o valor deve ser null).
MinResolution -> Resolução mínima para a imagem ser exibida.
MaxResolution -> Resolução máxima para a imagem ser exibida.
UseLayerGroupsInTheLayerExplorer -> Flag que indica se devem ser utilizados grupos de camadas no Layer Explorer.
EnableAddAndRemoveLayers -> Flag que indica se a função de adicionar e remover layers deve estar disponível.
Layers -> Lista de camadas.
Id -> Id do grupo.
Name -> Nome do grupo. Se desejado pode-se utilizar padrões baseados nas datas do filtro e / ou data atual (clique aqui para entender os padrões).
LayerGroup -> Flag que indica se a camada é um grupo.
Layers -> Lista de camadas do grupo.
Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).
Name -> Nome da camada. Se desejado pode-se utilizar padrões baseados nas datas do filtro e / ou data atual (clique aqui para entender os padrões).
Title -> Nome para ser utilizado no hover do mouse. Se desejado pode-se utilizar padrões baseados nas datas do filtro e / ou data atual (clique aqui para entender os padrões).
LayerGroup -> Flag que indica se a camada é um grupo.
Background -> Flag que indica se a camada é um plano de fundo.
Wmts -> Flag que indica se a camada é WMTS.
Visible -> Flag que indica se a camada deve ser visível por padrão.
Disabled -> Flag que indica se a camada deve estar desabilitada por padrão.
AddsInTheStart -> Flag que indica se a camada deve ser inserida por padrão.
AppendAtTheEnd -> Flag que indica se a camada deve ser inserida no final da lista de camadas.
DontAddToLayerExplorer -> Flag que indica se a camada não deve inserida no Layer Explorer (caso não se aplique esse item não precisa existir).
Params -> Parâmetros da camada.
TerraMA2WebComponentsFunction -> Nome de método do TerraMA2WebComponents, utilizado quando a camada for adicionada por meio de uma função da ferramenta (caso não se aplique esse item não precisa existir).
ImagerySet -> Tipo de imagem do Bing Maps, utilizado na camada do Bing Maps (caso não se aplique esse item não precisa existir).
BingMapsKey -> Chave do Bing Maps, utilizado na camada do Bing Maps (caso não se aplique esse item não precisa existir).
Url -> Url do servidor de mapas (caso não se aplique esse item não precisa existir).
ServerType -> Tipo do servidor, geoserver ou mapserver (caso não se aplique esse item não precisa existir).
MinResolution -> Resolução mínima da camada.
MaxResolution -> Resolução máxima da camada. Caso a resolução máxima desejada seja infinita, deve ser utilizada a string "Infinity".
Time -> Parametro temporal (para camadas temporais). Pode-se utilizar datas literais (hardcoded) ou padrões baseados nas datas do filtro e / ou data atual (clique aqui para entender os padrões, e caso não se aplique esse item não precisa existir).
Buffer -> Buffer de pixels adicionais para serem utilizados nas operações 'GetMap' e 'GetFeatureInfo' (caso não se aplique esse item não precisa existir).
Classes -> Classes CSS a serem adicionadas no elemento li da camada no Layer Explorer (caso não se aplique esse item não precisa existir).
Style -> Estilos CSS a serem utilizados no elemento li da camada no Layer Explorer (caso não se aplique esse item não precisa existir).
MinTimeForTodaysImage -> Horário mínimo para utilizar a imagem do dia atual. Utilizado em camadas temporais (caso não se aplique esse item não precisa existir).
Version -> Versão do WMTS. Utilizado em camadas WMTS (que tem a flag Wmts setada como true, e caso não se aplique esse item não precisa existir).
Format -> Formato das imagens da camada, "image/jpeg" ou "image/png" por exemplo (caso não se aplique esse item não precisa existir).
MatrixSet -> Identificador Matrix Set (deve ser um valor válido correspondente ao recurso, e caso não se aplique esse item não precisa existir).
TileGrid -> Dados de resoluções, tamanho de tiles e extent (devem ser valores válidos correspondentes ao recurso, e caso não se aplique esse item não precisa existir).
TimeYear -> Nome do parâmetro referente ao ano (informação utilizada em camadas temporais que tem dia, mês e ano separados, e caso não se aplique esse item não precisa existir).
TimeMonth -> Nome do parâmetro referente ao mês (informação utilizada em camadas temporais que tem dia, mês e ano separados, e caso não se aplique esse item não precisa existir).
TimeDay -> Nome do parâmetro referente ao dia (informação utilizada em camadas temporais que tem dia, mês e ano separados, e caso não se aplique esse item não precisa existir).
Documentação de Deploy da Aplicação BDQueimadas
1. PostgreSQL?
2. GeoServer
3. Aplicação?
