wiki:server/bdqueimadas

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?

4. Arquivos de Configurações?