wiki:server/bdqueimadas

Version 71 (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 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>

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 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 os campos begin e end, colocar na coluna "Default value" o valor: 1970-01-01
  • 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 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 os campos begin e end, colocar na coluna "Default value" o valor: 1970-01-01
  • 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 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 os campos begin e end, colocar na coluna "Default value" o valor: 1970-01-01
  • 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 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 os campos begin e end, colocar na coluna "Default value" o valor: 1970-01-01
  • 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

{
  "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 inicial a ser filtrado.