wiki:server/bdqueimadas

Version 117 (modified by jean.souza, 10 years ago) (diff)

--

TerraMA² - Configuração BDQueimadas

PostgreSQL

1. Crie um banco de dados chamado queimadas.

2. Remova a role public da lista de acesso a este banco.

3. Crie as seguintes contas de usuário, sem privilégios de super-usuário:

  • jean
  • gribeiro
  • appqueimadas

4. Atribua os seguintes privilégios:

GRANT connect ON DATABASE queimadas TO gribeiro, jean, appqueimadas;

GRANT all ON DATABASE queimadas TO jean;

GRANT SELECT ON ALL TABLES IN SCHEMA public TO gribeiro, appqueimadas;

5. Habilite a extensão unaccent para o banco de dados queimadas (essa é uma extensão do próprio PostgreSQL, basta habilitar).

GeoServer?

5. No GeoServer?, crie uma workspace:

Data -> Workspaces -> Add new workspace

    Name: queimadas
    Namespace URI: http://www.inpe.br/queimadas

6. Registre cada schema do servidor PostgreSQL como uma fonte de dados do GeoServer?:

Schema dados_geo:

Data -> Stores -> Add new Store -> PostGIS

As seguintes opções foram utilizadas:

Workspace: queimadas

Data Source Name: queimadas-dados-geo

Description: Banco de Dados de Queimadas - Schema dados_geo

database: queimadas

schema: dados_geo

user: appqueimadas

max connections: 16

fetch size: 5000

Loose bbox: true

Estimated Extents: true

encode functions: true

Support on the fly geometry simplifictaion: false

Schema public:

Data -> Stores -> Add new Store -> PostGIS

As seguintes opções foram utilizadas:

Workspace: queimadas

Data Source Name: queimadas-public

Description: Banco de Dados de Queimadas - Schema public

database: queimadas

schema: public

user: appqueimadas

max connections: 16

fetch size: 5000

Loose bbox: true

Estimated Extents: true

encode functions: true

Support on the fly geometry simplifictaion: false

7. Registre uma nova fonte de dados do GeoServer? para a camada raster Blue Marble:

Data -> Stores -> Add new Store -> ImagePyramid

As seguintes opções foram utilizadas:

Workspace: queimadas

Data Source Name: queimadas-image-pyramid-blue-marble

Description: Banco de Dados de Queimadas - Blue Marble

URL: file:data/blue-marble-pyramid (URL da pasta da ImagePyramid)

8. Criar estilos para as camadas:

Data -> Styles -> Add a new style

Estilo Situação Atual:

Name: Situação Atual

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Situacao Atual</Name>
    <UserStyle>
      <Title>Situacao Atual</Title>
      <FeatureTypeStyle>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>count</ogc:PropertyName>
              <ogc:Literal>0</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PolygonSymbolizer>
            <Fill>
              <CssParameter name="fill">#FFEBCD</CssParameter>
            </Fill>
            <Stroke>
              <CssParameter name="stroke">#000000</CssParameter>
              <CssParameter name="stroke-width">2</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:And>
              <ogc:PropertyIsGreaterThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>0</ogc:Literal>
              </ogc:PropertyIsGreaterThan>
              <ogc:PropertyIsLessThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>101</ogc:Literal>
              </ogc:PropertyIsLessThan>
            </ogc:And>
          </ogc:Filter>
          <PolygonSymbolizer>
            <Fill>
              <CssParameter name="fill">#FFC387</CssParameter>
            </Fill>
            <Stroke>
              <CssParameter name="stroke">#000000</CssParameter>
              <CssParameter name="stroke-width">2</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:And>
              <ogc:PropertyIsGreaterThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>100</ogc:Literal>
              </ogc:PropertyIsGreaterThan>
              <ogc:PropertyIsLessThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>501</ogc:Literal>
              </ogc:PropertyIsLessThan>
            </ogc:And>
          </ogc:Filter>
          <PolygonSymbolizer>
            <Fill>
              <CssParameter name="fill">#FAA046</CssParameter>
            </Fill>
            <Stroke>
              <CssParameter name="stroke">#000000</CssParameter>
              <CssParameter name="stroke-width">2</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:And>
              <ogc:PropertyIsGreaterThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>500</ogc:Literal>
              </ogc:PropertyIsGreaterThan>
              <ogc:PropertyIsLessThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>1001</ogc:Literal>
              </ogc:PropertyIsLessThan>
            </ogc:And>
          </ogc:Filter>
          <PolygonSymbolizer>
            <Fill>
              <CssParameter name="fill">#FA872D</CssParameter>
            </Fill>
            <Stroke>
              <CssParameter name="stroke">#000000</CssParameter>
              <CssParameter name="stroke-width">2</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:And>
              <ogc:PropertyIsGreaterThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>1000</ogc:Literal>
              </ogc:PropertyIsGreaterThan>
              <ogc:PropertyIsLessThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>5001</ogc:Literal>
              </ogc:PropertyIsLessThan>
            </ogc:And>
          </ogc:Filter>
          <PolygonSymbolizer>
            <Fill>
              <CssParameter name="fill">#FA5C25</CssParameter>
            </Fill>
            <Stroke>
              <CssParameter name="stroke">#000000</CssParameter>
              <CssParameter name="stroke-width">2</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:And>
              <ogc:PropertyIsGreaterThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>5000</ogc:Literal>
              </ogc:PropertyIsGreaterThan>
              <ogc:PropertyIsLessThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>25001</ogc:Literal>
              </ogc:PropertyIsLessThan>
            </ogc:And>
          </ogc:Filter>
          <PolygonSymbolizer>
            <Fill>
              <CssParameter name="fill">#C34231</CssParameter>
            </Fill>
            <Stroke>
              <CssParameter name="stroke">#000000</CssParameter>
              <CssParameter name="stroke-width">2</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:And>
              <ogc:PropertyIsGreaterThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>25000</ogc:Literal>
              </ogc:PropertyIsGreaterThan>
              <ogc:PropertyIsLessThan>
                <ogc:PropertyName>count</ogc:PropertyName>
                <ogc:Literal>50001</ogc:Literal>
              </ogc:PropertyIsLessThan>
            </ogc:And>
          </ogc:Filter>
          <PolygonSymbolizer>
            <Fill>
              <CssParameter name="fill">#A21C0D</CssParameter>
            </Fill>
            <Stroke>
              <CssParameter name="stroke">#000000</CssParameter>
              <CssParameter name="stroke-width">2</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsGreaterThan>
              <ogc:PropertyName>count</ogc:PropertyName>
              <ogc:Literal>50000</ogc:Literal>
            </ogc:PropertyIsGreaterThan>
          </ogc:Filter>
          <PolygonSymbolizer>
            <Fill>
              <CssParameter name="fill">#A21C0D</CssParameter>
            </Fill>
            <Stroke>
              <CssParameter name="stroke">#000000</CssParameter>
              <CssParameter name="stroke-width">2</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Países:

Name: Países

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Paises</Name>
    <UserStyle>
      <Title>Paises</Title>
      <FeatureTypeStyle>
        <Rule>
          <PolygonSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#FF8C00</CssParameter>
              <CssParameter name="stroke-width">1</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Labels dos Países:

Name: Labels dos Países

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Labels dos Paises</Name>
    <UserStyle>
      <Title>Labels dos Paises</Title>
      <FeatureTypeStyle>
        <Rule>
          <PointSymbolizer>
            <Geometry>
              <ogc:PropertyName>geom</ogc:PropertyName>
            </Geometry>
            <Graphic>
              <Mark>
                <WellKnownName>circle</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF3300</CssParameter>
                </Fill>
              </Mark>
              <Size>5</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>name_0</ogc:PropertyName>
            </Label>
            <LabelPlacement>
              <PointPlacement>
                <AnchorPoint>
                  <AnchorPointX>
                    <Literal>-0.1</Literal>
                  </AnchorPointX>
                  <AnchorPointY>
                    <Literal>0.5</Literal>
                  </AnchorPointY>
                </AnchorPoint>
                <Rotation>
                  <Literal>0</Literal>
                </Rotation>
              </PointPlacement>
            </LabelPlacement>
            <Font>
              <CssParameter name="font-size">16</CssParameter>
              <CssParameter name="font-style">normal</CssParameter>
              <CssParameter name="font-weight">bold</CssParameter>
            </Font>
            <Fill>
              <CssParameter name="fill">#FFFFFF</CssParameter>
            </Fill>
            <VendorOption name="conflictResolution">false</VendorOption>
            <VendorOption name="partials">true</VendorOption>
          </TextSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Estados:

Name: Estados

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Estados</Name>
    <UserStyle>
      <Title>Estados</Title>
      <FeatureTypeStyle>
        <Rule>
          <PolygonSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#FFFF00</CssParameter>
              <CssParameter name="stroke-width">1</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Labels dos Estados:

Name: Labels dos Estados

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Labels dos Estados</Name>
    <UserStyle>
      <Title>Labels dos Estados</Title>
      <FeatureTypeStyle>
        <Rule>
          <PointSymbolizer>
            <Geometry>
              <ogc:PropertyName>geom</ogc:PropertyName>
            </Geometry>
            <Graphic>
              <Mark>
                <WellKnownName>circle</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF3300</CssParameter>
                </Fill>
              </Mark>
              <Size>5</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>name_1</ogc:PropertyName>
            </Label>
            <LabelPlacement>
              <PointPlacement>
                <AnchorPoint>
                  <AnchorPointX>
                    <Literal>-0.1</Literal>
                  </AnchorPointX>
                  <AnchorPointY>
                    <Literal>0.5</Literal>
                  </AnchorPointY>
                </AnchorPoint>
                <Rotation>
                  <Literal>0</Literal>
                </Rotation>
              </PointPlacement>
            </LabelPlacement>
            <Font>
              <CssParameter name="font-size">16</CssParameter>
              <CssParameter name="font-style">normal</CssParameter>
              <CssParameter name="font-weight">bold</CssParameter>
            </Font>
            <Fill>
              <CssParameter name="fill">#FFFFFF</CssParameter>
            </Fill>
            <VendorOption name="conflictResolution">false</VendorOption>
            <VendorOption name="partials">true</VendorOption>
          </TextSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Municípios:

Name: Municípios

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Municipios</Name>
    <UserStyle>
      <Title>Municipios</Title>
      <FeatureTypeStyle>
        <Rule>
          <PolygonSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#00ffff</CssParameter>
              <CssParameter name="stroke-width">1</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Labels dos Municípios:

Name: Labels dos Municípios

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Labels dos Municipios</Name>
    <UserStyle>
      <Title>Labels dos Municipios</Title>
      <FeatureTypeStyle>
        <Rule>
          <PointSymbolizer>
            <Geometry>
              <ogc:PropertyName>geom</ogc:PropertyName>
            </Geometry>
            <Graphic>
              <Mark>
                <WellKnownName>circle</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF3300</CssParameter>
                </Fill>
              </Mark>
              <Size>5</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>name_2</ogc:PropertyName>
            </Label>
            <LabelPlacement>
              <PointPlacement>
                <AnchorPoint>
                  <AnchorPointX>
                    <Literal>-0.1</Literal>
                  </AnchorPointX>
                  <AnchorPointY>
                    <Literal>0.5</Literal>
                  </AnchorPointY>
                </AnchorPoint>
                <Rotation>
                  <Literal>0</Literal>
                </Rotation>
              </PointPlacement>
            </LabelPlacement>
            <Font>
              <CssParameter name="font-size">16</CssParameter>
              <CssParameter name="font-style">normal</CssParameter>
              <CssParameter name="font-weight">bold</CssParameter>
            </Font>
            <Fill>
              <CssParameter name="fill">#FFFFFF</CssParameter>
            </Fill>
            <VendorOption name="conflictResolution">false</VendorOption>
            <VendorOption name="partials">true</VendorOption>
          </TextSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Focos:

Name: Focos

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Focos</Name>
    <UserStyle>
      <Title>Focos</Title>
      <FeatureTypeStyle>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>AQUA-M</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#ea9388</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>AQUA-MEX</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#f8dbd7</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>AQUA_M-M</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#e36f60</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>AQUA_M-T</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#dc4b38</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>AQUA-T</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#f1b7af</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>ATSR</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#cc33cc</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>GOES-08</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#009688</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>GOES-10</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#33aba0</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>GOES-12</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#66c0b8</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>GOES-13</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF9933</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>METEOSAT-02</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#ffff00</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-12</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#8d6bc9</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-12D</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#d1c4e9</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-14</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#8ec5e1</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-15</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#a489d4</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-15D</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#e8e2f4</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-16</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#baa6df</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-16N</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#673ab7</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-17</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#69b2d7</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-18</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF6666</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-18D</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#b4d8eb</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-19</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF9999</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NOAA-19D</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#daecf5</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NPP</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#f8cd8f</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>NPP_375</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#f19b1f</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>TERRA-M</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#c9bbb6</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>TERRA-MEX</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#e4ddda</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>TERRA_M-M</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF0000</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>TERRA_M-T</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF6600</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>TERRA-T</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#af9991</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>satelite</ogc:PropertyName>
              <ogc:Literal>TRMM</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>cross</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#999999</CssParameter>
                </Fill>
              </Mark>
              <Size>8</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Biomas Brasileiros:

Name: Biomas Brasileiros

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Biomas Brasileiros</Name>
    <UserStyle>
      <Title>Biomas Brasileiros</Title>
      <FeatureTypeStyle>
        <Rule>
          <PolygonSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#b200ff</CssParameter>
              <CssParameter name="stroke-width">1</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Labels dos Biomas Brasileiros:

Name: Labels dos Biomas Brasileiros

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Labels dos Biomas Brasileiros</Name>
    <UserStyle>
      <Title>Labels dos Biomas Brasileiros</Title>
      <FeatureTypeStyle>
        <Rule>
          <PointSymbolizer>
            <Geometry>
              <ogc:PropertyName>geom</ogc:PropertyName>
            </Geometry>
            <Graphic>
              <Mark>
                <WellKnownName>circle</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF3300</CssParameter>
                </Fill>
              </Mark>
              <Size>5</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>nome</ogc:PropertyName>
            </Label>
            <LabelPlacement>
              <PointPlacement>
                <AnchorPoint>
                  <AnchorPointX>
                    <Literal>-0.1</Literal>
                  </AnchorPointX>
                  <AnchorPointY>
                    <Literal>0.5</Literal>
                  </AnchorPointY>
                </AnchorPoint>
                <Rotation>
                  <Literal>0</Literal>
                </Rotation>
              </PointPlacement>
            </LabelPlacement>
            <Font>
              <CssParameter name="font-size">16</CssParameter>
              <CssParameter name="font-style">normal</CssParameter>
              <CssParameter name="font-weight">bold</CssParameter>
            </Font>
            <Fill>
              <CssParameter name="fill">#FFFFFF</CssParameter>
            </Fill>
            <VendorOption name="conflictResolution">false</VendorOption>
            <VendorOption name="partials">true</VendorOption>
          </TextSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Áreas Protegidas:

Name: Áreas Protegidas

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Areas Protegidas</Name>
    <UserStyle>
      <Title>Areas Protegidas</Title>
      <FeatureTypeStyle>
        <Rule>
          <PolygonSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#00ff04</CssParameter>
              <CssParameter name="stroke-width">1</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Labels das Áreas Protegidas:

Name: Labels das Áreas Protegidas

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Labels das Areas Protegidas</Name>
    <UserStyle>
      <Title>Labels das Areas Protegidas</Title>
      <FeatureTypeStyle>
        <Rule>
          <PointSymbolizer>
            <Geometry>
              <ogc:PropertyName>geom</ogc:PropertyName>
            </Geometry>
            <Graphic>
              <Mark>
                <WellKnownName>circle</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF3300</CssParameter>
                </Fill>
              </Mark>
              <Size>5</Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
        <Rule>
          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>nome</ogc:PropertyName>
            </Label>
            <LabelPlacement>
              <PointPlacement>
                <AnchorPoint>
                  <AnchorPointX>
                    <Literal>-0.1</Literal>
                  </AnchorPointX>
                  <AnchorPointY>
                    <Literal>0.5</Literal>
                  </AnchorPointY>
                </AnchorPoint>
                <Rotation>
                  <Literal>0</Literal>
                </Rotation>
              </PointPlacement>
            </LabelPlacement>
            <Font>
              <CssParameter name="font-size">16</CssParameter>
              <CssParameter name="font-style">normal</CssParameter>
              <CssParameter name="font-weight">bold</CssParameter>
            </Font>
            <Fill>
              <CssParameter name="fill">#FFFFFF</CssParameter>
            </Fill>
            <VendorOption name="conflictResolution">false</VendorOption>
            <VendorOption name="partials">true</VendorOption>
          </TextSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Buffer Áreas Protegidas:

Name: Buffer Áreas Protegidas

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Buffer Areas Protegidas</Name>
    <UserStyle>
      <Title>Buffer Areas Protegidas</Title>
      <FeatureTypeStyle>
        <Rule>
          <PolygonSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#00ff04</CssParameter>
              <CssParameter name="stroke-width">1</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Hidrografia:

Name: Hidrografia

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Hidrografia</Name>
    <UserStyle>
      <Title>Hidrografia</Title>
      <FeatureTypeStyle>
        <Rule>
          <LineSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#0008ff</CssParameter>
              <CssParameter name="stroke-width">1</CssParameter>
            </Stroke>
          </LineSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Labels Hidrografia:

Name: Labels Hidrografia

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Labels Hidrografia</Name>
    <UserStyle>
      <Title>Labels Hidrografia</Title>
      <FeatureTypeStyle>
        <Rule>
          <LineSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#ff00d0</CssParameter>
              <CssParameter name="stroke-width">0</CssParameter>
              <CssParameter name="stroke-opacity">0</CssParameter>
            </Stroke>
          </LineSymbolizer>
          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>name</ogc:PropertyName>
            </Label>
            <LabelPlacement>
              <LinePlacement/>
         	</LabelPlacement>
            <Font>
              <CssParameter name="font-size">14</CssParameter>
              <CssParameter name="font-style">normal</CssParameter>
              <CssParameter name="font-weight">bold</CssParameter>
            </Font>
            <Fill>
              <CssParameter name="fill">#FFFFFF</CssParameter>
            </Fill>
         	<VendorOption name="maxAngleDelta">40</VendorOption>
         	<VendorOption name="maxDisplacement">400</VendorOption>
         	<VendorOption name="repeat">150</VendorOption>
          </TextSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Rodovias:

Name: Rodovias

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Rodovias</Name>
    <UserStyle>
      <Title>Rodovias</Title>
      <FeatureTypeStyle>
        <Rule>
          <LineSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#ff00d0</CssParameter>
              <CssParameter name="stroke-width">1</CssParameter>
            </Stroke>
          </LineSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Estilo Labels das Rodovias:

Name: Labels das Rodovias

Workspace: queimadas

Colar o seguinte texto na área de texto:

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>Labels das Rodovias</Name>
    <UserStyle>
      <Title>Labels das Rodovias</Title>
      <FeatureTypeStyle>
        <Rule>
          <LineSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#ff00d0</CssParameter>
              <CssParameter name="stroke-width">0</CssParameter>
              <CssParameter name="stroke-opacity">0</CssParameter>
            </Stroke>
          </LineSymbolizer>
          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>name</ogc:PropertyName>
            </Label>
            <LabelPlacement>
              <LinePlacement/>
         	</LabelPlacement>
            <Font>
              <CssParameter name="font-size">14</CssParameter>
              <CssParameter name="font-style">normal</CssParameter>
              <CssParameter name="font-weight">bold</CssParameter>
            </Font>
            <Fill>
              <CssParameter name="fill">#FFFFFF</CssParameter>
            </Fill>
         	<VendorOption name="maxAngleDelta">90</VendorOption>
         	<VendorOption name="maxDisplacement">10</VendorOption>
         	<VendorOption name="repeat">150</VendorOption>
          </TextSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

9. Criar as camadas para cada fonte de dados:

Fonte de dados queimadas-dados-geo:

Data -> Layers -> Add a new resource

Add layer from: queimadas:queimadas-dados-geo

Obs.: o texto queimadas:queimadas-dados-geo é a concatenação de: workspace:store.

Iremos selecionar a opção Action: publish para as seguintes camadas:

  • biomas_brasileiros
  • buffer_10_terras_indigenas
  • buffer_10_unidades_conservacao_estaduais
  • buffer_10_unidades_conservacao_federais
  • buffer_5_terras_indigenas
  • buffer_5_unidades_conservacao_estaduais
  • buffer_5_unidades_conservacao_federais
  • estados
  • hidrografia
  • labels_biomas_brasileiros
  • labels_estados
  • labels_paises
  • labels_protectedplanet
  • labels_terras_indigenas
  • labels_unidades_conservacao_estaduais
  • labels_unidades_conservacao_federais
  • municipios
  • paises
  • protectedplanet
  • rodovias
  • sedes_municipios
  • terras_indigenas
  • unidades_conservacao_estaduais
  • unidades_conservacao_federais

Na aba Data, iremos Computar os bounding box dos layers (caso o Declared SRS não esteja preenchido, antes de realizar esse procedimento preencha o campo com o valor EPSG:4326):

  • Bounding Boxes / Native Bounding Box
  • Bounding Boxes / Lat/Lon? Bounding Box

Na aba Publishing iremos:

  • Na seção WMS, selecionar o estilo correspondente a cada camada (Países, Estados, Municípios e Labels dos Municípios)

Fonte de dados queimadas-public:

Data -> Layers -> Add a new resource

Add layer from: queimadas:queimadas-public

Obs.: o texto queimadas:queimadas-public é a concatenação de: workspace:store.

Iremos selecionar a opção Action: publish para as seguintes camadas:

  • focos

Na aba Data, iremos Computar os bounding box do layer (caso o Declared SRS não esteja preenchido, antes de realizar esse procedimento preencha o campo com o valor EPSG:4326):

  • Bounding Boxes / Native Bounding Box
  • Bounding Boxes / Lat/Lon? Bounding Box

Na aba Publishing iremos:

  • Na seção WMS, selecionar o estilo Focos

Fonte de dados queimadas-image-pyramid-blue-marble:

Data -> Layers -> Add a new resource

Add layer from: queimadas:queimadas-image-pyramid-blue-marble

Obs.: o texto queimadas:queimadas-image-pyramid-blue-marble é a concatenação de: workspace:store.

Iremos selecionar a opção Action: publish para a camada que será exibida (o nome da camada vai variar de acordo com o nome da imagem usada para gerar a ImagePyramid?).

Na aba Data, iremos Computar os bounding box do layer (caso o Declared SRS não esteja preenchido, antes de realizar esse procedimento preencha o campo com o valor EPSG:4326):

  • Bounding Boxes / Native Bounding Box
  • Bounding Boxes / Lat/Lon? Bounding Box

10. Criar quatro novos layers a partir de consultas:

Para o primeiro layer:

  • Na opção Layers -> Add new resource -> Add layer from: queimadas:queimadas-dados-geo -> Consigure new SQL view...
  • Nome: situacao_atual_paises
  • SQL:
    select a.geom as geom, a.name_0 as country, sum(coalesce(b.count, 0)) as count from (select pais, count(pais) as count from public.focos where data_hora between '%begin%' and '%end%' and satelite in (%satellites%) and bioma_brasileiro in (%biomes%) group by pais) b right outer join dados_geo.paises a on (a.nome_bdq = b.pais) where a.id_0 in (%countries%) group by a.name_0, a.geom order by a.name_0
    
  • Selecione: Guess parameters from SQL
  • Remover a validação de expressão regular para todos os campos.
  • Para o campo begin, colocar na coluna "Default value" o valor: 1970-01-01 00:00:00
  • Para o campo end, colocar na coluna "Default value" o valor: 1970-01-01 23:59:59
  • Para o campo satellites, colocar na coluna "Default value" o valor: null, '', ' 14:45', '1', '12', '13:25', '18.1', '19.3', '21.2', '3-09-10', '5.0 ', 'AQUA-M', 'AQUA-MEX', 'AQUA-T', 'AQUA_M-M', 'AQUA_M-T', 'ATSR', 'DSA_novoformato', 'GOES-08', 'GOES-10', 'GOES-12', 'GOES-13', 'METEOSAT-02', 'NOAA-12', 'NOAA-12D', 'NOAA-14', 'NOAA-15', 'NOAA-15D', 'NOAA-16', 'NOAA-16N', 'NOAA-17', 'NOAA-18', 'NOAA-18D', 'NOAA-19', 'NOAA-19D', 'NPP', 'NPP_375', 'TERRA-M', 'TERRA-MEX', 'TERRA-T', 'TERRA_M-M', 'TERRA_M-T', 'TRMM'
  • Para o campo biomes, colocar na coluna "Default value" o valor: '', null, 'Amazonia', 'Caatinga', 'Cerrado', 'Mata Atlantica', 'Pampa', 'Pantanal'
  • Para o campo countries, colocar na coluna "Default value" o valor: select id_0 from dados_geo.paises
  • Save
  • Declared SRS: EPSG:4326
  • Compute from data
  • Compute from native bounds
  • Aba Publishing => WMS Settings - Default Style: queimadas:Situação Atual
  • Save

Para o segundo layer:

  • Na opção Layers -> Add new resource -> Add layer from: queimadas:queimadas-dados-geo -> Consigure new SQL view...
  • Nome: situacao_atual_estados
  • SQL:
    select a.geom as geom, a.name_1 as state, coalesce(b.count, 0) as count from (select estado, count(estado) as count from public.focos where data_hora between '%begin%' and '%end%' and satelite in (%satellites%) and bioma_brasileiro in (%biomes%) group by estado) b right outer join dados_geo.estados a on (a.nome_bdq = b.estado) where id_0 in (%countries%)
    
  • Selecione: Guess parameters from SQL
  • Remover a validação de expressão regular para todos os campos.
  • Para o campo begin, colocar na coluna "Default value" o valor: 1970-01-01 00:00:00
  • Para o campo end, colocar na coluna "Default value" o valor: 1970-01-01 23:59:59
  • Para o campo countries, colocar na coluna "Default value" o valor: 0
  • Para o campo satellites, colocar na coluna "Default value" o valor: null, '', ' 14:45', '1', '12', '13:25', '18.1', '19.3', '21.2', '3-09-10', '5.0 ', 'AQUA-M', 'AQUA-MEX', 'AQUA-T', 'AQUA_M-M', 'AQUA_M-T', 'ATSR', 'DSA_novoformato', 'GOES-08', 'GOES-10', 'GOES-12', 'GOES-13', 'METEOSAT-02', 'NOAA-12', 'NOAA-12D', 'NOAA-14', 'NOAA-15', 'NOAA-15D', 'NOAA-16', 'NOAA-16N', 'NOAA-17', 'NOAA-18', 'NOAA-18D', 'NOAA-19', 'NOAA-19D', 'NPP', 'NPP_375', 'TERRA-M', 'TERRA-MEX', 'TERRA-T', 'TERRA_M-M', 'TERRA_M-T', 'TRMM'
  • Para o campo biomes, colocar na coluna "Default value" o valor: '', null, 'Amazonia', 'Caatinga', 'Cerrado', 'Mata Atlantica', 'Pampa', 'Pantanal'
  • Save
  • Declared SRS: EPSG:4326
  • Compute from data
  • Compute from native bounds
  • Aba Publishing => WMS Settings - Default Style: queimadas:Situação Atual
  • Save

Para o terceiro layer:

  • Na opção Layers -> Add new resource -> Add layer from: queimadas:queimadas-dados-geo -> Consigure new SQL view...
  • Nome: situacao_atual_municipios
  • SQL:
    select a.geom as geom, a.name_2 as municipio, coalesce(b.count, 0) as count from (select municipio, count(municipio) as count from public.focos where data_hora between '%begin%' and '%end%' and satelite in (%satellites%) and bioma_brasileiro in (%biomes%) and estado in (%statesnames%) group by municipio) b right outer join dados_geo.municipios a on (unaccent(lower(a.name_2)) = unaccent(lower(b.municipio))) where substr(complete_id, 1, 7) in (%states%)
    
  • Selecione: Guess parameters from SQL
  • Remover a validação de expressão regular para todos os campos.
  • Para o campo begin, colocar na coluna "Default value" o valor: 1970-01-01 00:00:00
  • Para o campo end, colocar na coluna "Default value" o valor: 1970-01-01 23:59:59
  • Para os campos states e statesnames, colocar na coluna "Default value" o valor: ''
  • Para o campo satellites, colocar na coluna "Default value" o valor: null, '', ' 14:45', '1', '12', '13:25', '18.1', '19.3', '21.2', '3-09-10', '5.0 ', 'AQUA-M', 'AQUA-MEX', 'AQUA-T', 'AQUA_M-M', 'AQUA_M-T', 'ATSR', 'DSA_novoformato', 'GOES-08', 'GOES-10', 'GOES-12', 'GOES-13', 'METEOSAT-02', 'NOAA-12', 'NOAA-12D', 'NOAA-14', 'NOAA-15', 'NOAA-15D', 'NOAA-16', 'NOAA-16N', 'NOAA-17', 'NOAA-18', 'NOAA-18D', 'NOAA-19', 'NOAA-19D', 'NPP', 'NPP_375', 'TERRA-M', 'TERRA-MEX', 'TERRA-T', 'TERRA_M-M', 'TERRA_M-T', 'TRMM'
  • Para o campo biomes, colocar na coluna "Default value" o valor: '', null, 'Amazonia', 'Caatinga', 'Cerrado', 'Mata Atlantica', 'Pampa', 'Pantanal'
  • Save
  • Declared SRS: EPSG:4326
  • Compute from data
  • Compute from native bounds
  • Aba Publishing => WMS Settings - Default Style: queimadas:Situação Atual
  • Save

Para o quarto layer:

  • Na opção Layers -> Add new resource -> Add layer from: queimadas:queimadas-dados-geo -> Consigure new SQL view...
  • Nome: situacao_atual_biomas
  • SQL:
    select a.geom as geom, a.nome as biome, sum(coalesce(b.count, 0)) as count from (select bioma_brasileiro, count(bioma_brasileiro) as count from public.focos where data_hora between '%begin%' and '%end%' and satelite in (%satellites%) and bioma_brasileiro in (%biomes%) group by bioma_brasileiro) b right outer join dados_geo.biomas_brasileiros a on (unaccent(lower(a.nome)) = unaccent(lower(b.bioma_brasileiro))) where 33 in (%countries%) group by a.nome, a.geom order by a.nome
    
  • Selecione: Guess parameters from SQL
  • Remover a validação de expressão regular para todos os campos.
  • Para o campo begin, colocar na coluna "Default value" o valor: 1970-01-01 00:00:00
  • Para o campo end, colocar na coluna "Default value" o valor: 1970-01-01 23:59:59
  • Para o campo satellites, colocar na coluna "Default value" o valor: null, '', ' 14:45', '1', '12', '13:25', '18.1', '19.3', '21.2', '3-09-10', '5.0 ', 'AQUA-M', 'AQUA-MEX', 'AQUA-T', 'AQUA_M-M', 'AQUA_M-T', 'ATSR', 'DSA_novoformato', 'GOES-08', 'GOES-10', 'GOES-12', 'GOES-13', 'METEOSAT-02', 'NOAA-12', 'NOAA-12D', 'NOAA-14', 'NOAA-15', 'NOAA-15D', 'NOAA-16', 'NOAA-16N', 'NOAA-17', 'NOAA-18', 'NOAA-18D', 'NOAA-19', 'NOAA-19D', 'NPP', 'NPP_375', 'TERRA-M', 'TERRA-MEX', 'TERRA-T', 'TERRA_M-M', 'TERRA_M-T', 'TRMM'
  • Para o campo biomes, colocar na coluna "Default value" o valor: '', null, 'Amazonia', 'Caatinga', 'Cerrado', 'Mata Atlantica', 'Pampa', 'Pantanal'
  • Para o campo countries, colocar na coluna "Default value" o valor: select id_0 from dados_geo.paises
  • Save
  • Declared SRS: EPSG:4326
  • Compute from data
  • Compute from native bounds
  • Aba Publishing => WMS Settings - Default Style: queimadas:Situação Atual
  • Save

Aplicação Node.js

11. Instale o Node.js:

curl -sL https://deb.nodesource.com/setup_4.x

sudo apt-get install -y nodejs

12. Instale o pacote do Ubuntu chamado build-essential:

sudo apt-get install -y build-essential

13. Crie uma pasta para hospedar a aplicação bdqueimadas:

mkdir ~/bdqueimadas

cd ~/bdqueimadas

git clone https://github.com/TerraMA2/bdqueimadas.git .

14. Execute os seguintes comandos:

npm install

sudo npm install -g grunt-cli

grunt

15. Na pasta configurations, forneça arquivos de configuração compatíveis com sua infreestrutura.

16. Volte para o diretório raiz do bdqueimadas e execute o comando abaixo se você for rodá-la pelo npm:

npm start

Por padrão o sistema vai rodar na porta 38000. Caso deseje alterar, acesse o arquivo bdqueimadas/bin/www:

var portNumber = '38000';

Verifique se você consegue acessar a aplicação pelo navegador: ​http://localhost:38000

17. Instalar o pm2 - "Advanced, production process manager for Node.js":

Site: ​http://pm2.keymetrics.io

npm install pm2 -g 

Para inicializar a aplicação em backgroud:

cd ~/bdqueimadas

pm2 start --name=bdqueimadas bin/www

Verifique se você consegue acessar a aplicação pelo navegador: ​http://localhost:38000

Para desligar o serviço:

pm2 stop bdqueimadas

Para desligar o serviço:

pm2 restart bdqueimadas

18. Instalar o nginx:

Site: ​https://www.nginx.com

sudo apt-get install nginx

Na pasta /etc/nginx/sites-enabled criar o arquivo queimadas com o seguinte conteúdo:

server {
  server_name http://terrama2.dpi.inpe.br;
  listen 6543;

  location / {
    proxy_read_timeout 600s;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:38000;
    proxy_redirect off;
  }
}

Na mesma pasta criar o arquivo geoserver com o seguinte conteúdo:

server {
  server_name http://terrama2.dpi.inpe.br;
  listen 6544;

  location / {
    proxy_read_timeout 600s;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:8080/queimadas-geoserver/;
    proxy_redirect off;
  }
}

19. Reinicialize o nginx:

sudo service nginx restart

Acesse os seguintes endereços no navegador para testar o acesso externo ao BDQueimadas e ao GeoServer?, respectivamente:

http://www.dpi.inpe.br/queimadas

http://www.dpi.inpe.br/queimadas-geoserver

Dicas

A tabela estados possui 3496 linhas, com geometrias do tipo MultiPolygon?. Estas geometrias possuem em média 9935 vértices, sendo o total de 34.732.383 vértices. Considerando que cada vértices é formado por uma componente x e outra y, representadas por números de 8-bytes, temos um espaço de armazenamento em RAM de aproximadamente ~529.98 MiB.

SELECT SUM(ST_NPoints(geom)) AS num_pts,  (SUM(ST_NPoints(geom)) * 2.0 * 8.0) / (1024.0*1024.0) FROM estados;

As geometrias (MultiPolygon?) da tabela paises, 256 linhas com cada geometria tendo em média 123.650, possuem 31.654.555 vértices, que ocupam aproximadamente ~483.01 MiB.

SELECT SUM(ST_NPoints(geom)) AS num_pts,  (SUM(ST_NPoints(geom)) * 2.0 * 8.0) / (1024.0*1024.0) FROM paises;

As geometrias (Point) da tabela focos, 181.859 linhas, possuem 181.859 vértices, que ocupam aproximadamente ~2.77 MiB.

SELECT SUM(ST_NPoints(geom)) AS num_pts,  (SUM(ST_NPoints(geom)) * 2.0 * 8.0) / (1024.0*1024.0) FROM focos_de_2016_04_01_a_2016_05_05;

No psql, podemos ativar a medição de tempo das operações com o seguinte comando:

\timing on

No psql, podemos redirecionar a saída das consultas para um arquivo:

\o /home/terrama2/Downloads/saida.txt

No psql, devemos alterar o alinhamento do texto produzido pela consulta:

\a

Para medir o tempo de recuperar todas as linhas de cada tabela do BDQueimadas:

\o /home/terrama2/Downloads/estados.txt
SELECT * FROM estados;
Time: 3733,414 ms

\o /home/terrama2/Downloads/focos.txt
SELECT * FROM focos_de_2016_04_01_a_2016_05_05;
Time: 703,639 ms

\o /home/terrama2/Downloads/paises.txt
SELECT * FROM paises;
Time: 4006,834 ms

Arquivos de Configurações (.json)

Abaixo estão documentados os arquivos de configurações do BDQueimadas. São arquivos .json que mantém configurações de diversos aspectos da aplicação.

1. Application.json

Arquivo que mantém configurações gerais da aplicação. Estrutura:

{
  "Port": "31000",
  "BaseUrl": "/",
  "InitialContinentToFilter": 8,
  "DatePickerDefaultOptions": {
    "maxDate": 0,
    "markerClassName": "hasDatepicker",
    "dateFormat": "yy/mm/dd",
    "dayNames": ["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],
    "dayNamesMin": ["D","S","T","Q","Q","S","S","D"],
    "dayNamesShort": ["Dom","Seg","Ter","Qua","Qui","Sex","Sáb","Dom"],
    "monthNames": ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],
    "monthNamesShort": ["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],
    "nextText": "Próximo",
    "prevText": "Anterior"
  },
  "OGR2OGR": "C:/OSGeo4W64/bin/ogr2ogr.exe"
}

Opções:

Port -> Porta a ser utilizada para o acesso ao sistema.

BaseURL -> Caso a aplicação tenha um endereço base depois do endereço raiz, esse endereço deve ser especificado. Se o endereço da aplicação é http://www.dpi.inpe.br/queimadas/, o endereço raiz é http://www.dpi.inpe.br e o endereço base (que deve ser configurado) é /queimadas/. Caso não exista um endereço base, essa opção deve ter o valor /.

InitialContinentToFilter -> Id do continente inicial a ser filtrado.

DatePickerDefaultOptions -> Configurações padrão do jQuery UI Datepicker.

OGR2OGR -> Comando ogr2ogr da GDAL (caso necessário deve ser configurado com o caminho, "C:/OSGeo4W64/bin/ogr2ogr.exe" por exemplo).

2. AttributesTable.json

Arquivo que mantém as configurações da tabela de atributos. Estrutura:

{
  "Columns": [
    {
      "TableAlias": "FiresTable",
      "Name": "data_hora",
      "Alias": "Data / Hora",
      "ExportAlias": "DataHora",
      "Order": "desc",
      "String": false
    }
  ]
}

Opções:

Columns -> Array de objetos que representam as colunas da tabela.

TableAlias -> Apelido da tabela que possuí a coluna. Caso seja a tabela de focos o valor de ser 'FiresTable?' e caso seja a tabela de áreas industriais, o valor deve ser 'IndustrialAreasTable?'.

Name -> Nome da coluna (deve ser o mesmo nome que vem do banco de dados).

Alias -> Apelido para a coluna que será usado na exibição da tabela.

ExportAlias -> Apelido para a coluna que será usado na exportação.

Order -> Ordenação da coluna, deve ser preenchido com "desc" para ordem decrescente, "asc" para ordem crescente ou null para que a coluna não seja usada na ordenação.

String -> Flag que indica se a coluna é do tipo string.

3. Database.json

Arquivo que mantém as configurações de conexão com o banco de dados. Estrutura:

{
  "Port": 5432,
  "Host": "127.0.0.1",
  "Database": "test",
  "User": "postgres",
  "Password": "postgres",
  "MaxNumberOfClientsInThePool": 30,
  "IdleTimeoutMillis": 30000
}

Opções:

Port -> Porta de acesso ao banco de dados.

Host -> Ip ou endereço do host.

Database -> Nome do banco de dados.

User -> Usuário do banco de dados.

Password -> Senha do banco de dados.

MaxNumberOfClientsInThePool -> Número máximo de clientes no pool de conexões.

IdleTimeoutMillis -> Tempo que um cliente pode ficar sem uso no pool de conexões antes de ser removido.

4. Filter.json

Arquivo que mantém as configurações dos filtros da aplicação. Estrutura:

{
  "LayerToFilter": {
    "LayerId": "bdqueimadas:focos",
    "IdFieldName": "id_foco_bdq",
    "LatitudeFieldName": "latitude",
    "LongitudeFieldName": "longitude",
    "DateTimeFieldName": "data_hora_gmt",
    "SatelliteFieldName": "satelite",
    "CityFieldName": "municipio_complete_id",
    "CityNameFieldName": "municipio",
    "StateFieldName": "estado_complete_id",
    "StateNameFieldName": "estado",
    "CountryFieldName": "pais_complete_id",
    "CountryNameFieldName": "pais",
    "ContinentFieldName": "continente_id",
    "PrecipitationFieldName": "precipitacao",
    "NumberOfDaysWithoutPrecipitationFieldName": "numero_dias_sem_chuva",
    "RiskFieldName": "risco_fogo",
    "BiomeFieldName": "bioma",
    "SpecialRegionsFieldName": "id_regiao_especial_text",
    "IndustrialFiresFieldName": "id_area_industrial",
    "DateFormat": "YYYY-MM-DD",
    "DateTimeFormat": "YYYY-MM-DD HH:II:SS",
    "InitialDate": "{{-|1|d=YYYY-MM-DD}}",
    "FinalDate": "{{0=YYYY-MM-DD}}"
  },
  "CurrentSituationLayers": {
    "Layers": [
      "BDQueimadas:current_situation_countries",
      "BDQueimadas:current_situation_states",
      "BDQueimadas:current_situation_cities",
      "BDQueimadas:current_situation_biomes"
    ],
    "DateFormat": "YYYY-MM-DD",
    "InitialDate": "{{-|1|d=YYYY-MM-DD}}",
    "FinalDate": "{{0=YYYY-MM-DD}}"
  },
  "CountriesLayer": {
    "Id": "BDQueimadas:paises_multi",
    "ContinentField": "continente_id"
  },
  "CountriesLabelsLayer": {
    "Id": "BDQueimadas:labels_paises",
    "ContinentField": "continente_id"
  },
  "StatesLayer": {
    "Id": "BDQueimadas:estados",
    "CountryField": "id_0"
  },
  "StatesLabelsLayer": {
    "Id": "BDQueimadas:labels_estados",
    "CountryField": "id_0"
  },
  "CitiesLayer": {
    "Id": "BDQueimadas:municipios",
    "CountryField": "id_0",
    "StateField": "complete_id",
    "CityField": "complete_id"
  },
  "CitiesLabelsLayer": {
    "Id": "BDQueimadas:sedes_municipios",
    "CountryField": "id_0",
    "StateField": "complete_id",
    "CityField": "complete_id"
  },
  "SpecialRegionsLayer": {
    "Id": "BDQueimadas:regioes_especiais"
  },
  "IndustrialAreasLayer": {
    "Id": "BDQueimadas:areas_industriais"
  },
  "SpatialFilter": {
    "Continents": {
      "MinResolution": 0.35,
      "MaxResolution": "Infinity"
    },
    "Countries": {
      "MinResolution": 0.080,
      "MaxResolution": 0.35
    },
    "States": {
      "MinResolution": 0,
      "MaxResolution": 0.080
    }
  },
  "Extents": {
    "Continents": {
      "4": "-190,1.6823687752355312,-4.5,86.81763122476447"
    },
    "Countries": {
      "244": "-195,14.02086137281292,-60,75.97913862718708"
    },
    "States": {
      "2440002": "-195,44.43674293405114,-125,76.56325706594886"
    },
    "SpecialRegions": {},
    "ProtectedAreas": {
      "UCE": {},
      "UCF": {},
      "TI": {}
    },
    "Cities": {}
  },
  "Satellites": [
    {
      "Id": "NOAA-12",
      "Name": "NOAA-12 Noite",
      "Begin": "1998-06-01",
      "End": "2007-08-09",
      "Current": false,
      "Selected": false,
      "ReferenceBegin": "1998-06-01",
      "ReferenceEnd": "2002-07-03",
      "ReferenceCurrent": false
    }
  ]
}

Opções:

LayerToFilter -> Objeto que representa a camada principal a ser filtrada (camada de focos).

LayerId -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).

IdFieldName -> Nome do campo de id.

LatitudeFieldName -> Nome do campo de latitude.

LongitudeFieldName -> Nome do campo de longitude.

DateTimeFieldName -> Nome do campo de data / hora.

SatelliteFieldName -> Nome do campo de satélite.

CityFieldName -> Nome do campo de id de cidade.

CityNameFieldName -> Nome do campo de nome de cidade.

StateFieldName -> Nome do campo de id de estado.

StateNameFieldName -> Nome do campo de nome de estado.

CountryFieldName -> Nome do campo de id de país.

CountryNameFieldName -> Nome do campo de nome de país.

ContinentFieldName -> Nome do campo de id de continente.

PrecipitationFieldName -> Nome do campo de precipitação.

NumberOfDaysWithoutPrecipitationFieldName -> Nome do campo de número de dias sem chuva.

RiskFieldName -> Nome do campo de risco de fogo.

BiomeFieldName -> Nome do campo de bioma.

SpecialRegionsFieldName -> Nome do campo de regiões especiais.

IndustrialFiresFieldName -> Nome do campo de áreas industriais.

DateFormat -> Formato de data utilizado na camada.

DateTimeFormat -> Formato de data / hora utilizado na camada.

InitialDate -> Data inicial a ser utilizada no filtro.

FinalDate -> Data final a ser utilizada no filtro.

CurrentSituationLayers -> Camadas de situação atual.

Layers -> Array com os ids das camadas (nomes das camadas no GeoServer, com as workspaces inclusas).

DateFormat -> Formato de data utilizado nas camadas.

InitialDate -> Data inicial a ser utilizada nas camadas.

FinalDate -> Data final a ser utilizada nas camadas.

CountriesLayer -> Camada de países.

Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).

ContinentField -> Nome do campo de id de continente.

CountriesLabelsLayer -> Camada de labels de países.

Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).

ContinentField -> Nome do campo de id de continente.

StatesLayer -> Camada de estados.

Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).

CountryField -> Nome do campo de id de país.

StatesLabelsLayer -> Camada de labels de estados.

Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).

CountryField -> Nome do campo de id de país.

CitiesLayer -> Camada de cidades.

Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).

CountryField -> Nome do campo de id de país.

StateField -> Nome do campo de id de estado.

CityField -> Nome do campo de id de cidade.

CitiesLabelsLayer -> Camada de labels de cidades.

Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).

CountryField -> Nome do campo de id de país.

StateField -> Nome do campo de id de estado.

CityField -> Nome do campo de id de cidade.

SpecialRegionsLayer -> Camada de regiões especiais.

Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).

IndustrialAreasLayer -> Camada de áreas industriais.

Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).

SpatialFilter -> Dados de resoluções a serem utilizados quando o usuário da duplo clique no mapa, dependendo da resolução será selecionado continente, país ou estado. Caso a resolução máxima desejada seja infinita, deve ser utilizada a string "Infinity".

Continents -> Resoluções referentes aos continentes.

MinResolution -> Resolução mínima.

MaxResolution -> Resolução máxima.

Countries -> Resoluções referentes aos países.

MinResolution -> Resolução mínima.

MaxResolution -> Resolução máxima.

States -> Resoluções referentes aos estados.

MinResolution -> Resolução mínima.

MaxResolution -> Resolução máxima.

Extents -> Extents personalizados para serem utilizados no mapa (o formato é chave valor, sendo a chave o id do item e o valor o extent, com os valores separados por vírgulas).

Continents -> Extents de continentes.

Countries -> Extents de países.

States -> Extents de estados.

SpecialRegions -> Extents de regiões especiais.

ProtectedAreas -> Extents de áreas protegidas.

UCE -> Extents de unidades de conservação estaduais.

UCF -> Extents de unidades de conservação federais.

TI -> Extents de terras indígenas.

Cities -> Extents de cidades.

Satellites -> Satélites a serem listados no filtro.

Id -> Id do satélite (essa dado deve ser o mesmo presente na tabela de focos).

Name -> Nome a ser exibido na listagem.

Begin -> Início da vigência do satélite.

End -> Fim da vigência do satélite (utilizar string vazia caso ele ainda seja válido).

Current -> Flag que indica se o satélite ainda é válido.

Selected -> Flag que indica se o satélite deve vir selecionado por padrão no filtro.

ReferenceBegin -> Início da vigência do satélite como referência (utilizar string vazia caso não se aplique).

ReferenceEnd -> Fim da vigência do satélite como referência (utilizar string vazia caso não se aplique).

ReferenceCurrent -> Flag que indica se atualmente o satélite é referência.

5. Graphics.json

Arquivo que mantém as configurações dos gráficos da aplicação. Estrutura:

{
  "FiresCount": [
    {
      "Order": 1,
      "Id": "firesByCountry",
      "Y": "{pais}",
      "Key": "pais",
      "Title": "Focos por País",
      "Limit": null,
      "Expanded": true,
      "PAGraphic": false,
      "IgnoreCountryFilter": false,
      "IgnoreStateFilter": false,
      "IgnoreCityFilter": false,
      "ShowOnlyIfThereIsACountryFiltered": false,
      "ShowOnlyIfThereIsNoCountryFiltered": false,
      "ShowOnlyIfThereIsAStateFiltered": false,
      "ShowOnlyIfThereIsNoStateFiltered": false
    }
  ]
}

Opções:

FiresCount -> Lista de gráficos de contagem de focos.

Order -> A posição do gráfico entre todos os existentes.

Id -> Id do gráfico.

Y -> Padrão da informação de indicação de cada linha do gráfico (string). Quando se deseja exibir o dado de um campo retornado no banco de dados, o nome do campo deve ser inserido entre {}.

Key -> Chave do gráfico (é o campo que será utilizado para agrupar os focos, se o gráfico for de contagem de focos por país por exemplo, a 'Key' será 'pais').

Title -> Título dos gráficos.

Limit -> Limite de linhas do gráfico, caso não se aplique o valor deve ser null.

Expanded -> Flag que indica se o gráfico deve estar expandido por padrão.

PAGraphic -> Flag que indica se o gráfico é de focos por área protegida.

IgnoreCountryFilter -> Flag que indica se o filtro de país deve ser ignorado.

IgnoreStateFilter -> Flag que indica se o filtro de estado deve ser ignorado.

IgnoreCityFilter -> Flag que indica se o filtro de cidade deve ser ignorado.

ShowOnlyIfThereIsACountryFiltered -> Flag que indica se o gráfico deve ser exibido apenas quando existem países filtrados.

ShowOnlyIfThereIsNoCountryFiltered -> Flag que indica se o gráfico deve ser exibido apenas quando não existem países filtrados.

ShowOnlyIfThereIsAStateFiltered -> Flag que indica se o gráfico deve ser exibido apenas quando existem estados filtrados.

ShowOnlyIfThereIsNoStateFiltered -> Flag que indica se o gráfico deve ser exibido apenas quando não existem estados filtrados.

6. Map.json

Arquivo que mantém as configurações do mapa. Estrutura:

{
  "Subtitles": [
    {
      "Id": "fires-subtitles",
      "LayerId": "bdqueimadas:focos",
      "LayerName": "Camada: Focos",
      "Subtitles": [
        {
          "SubtitleId": "AQUA-M",
          "SubtitleText": "AQUA-M",
          "FillColor": null,
          "BorderColor": null,
          "Image": "bdqueimadas/images/satellitesIcons/aqua-m.png",
          "MinResolution": 0,
          "MaxResolution": "Infinity"
        }
      ]
    }
  ],
  "UseLayerGroupsInTheLayerExplorer": true,
  "EnableAddAndRemoveLayers": false,
  "Layers": [
    {
      "Id": "layers",
      "Name": "Camadas",
      "LayerGroup": true,
      "Layers": [
        {
          "Id": "bdqueimadas:regioes_especiais",
          "Name": "Regiões Especiais",
          "Title": "Regiões Especiais",
          "LayerGroup": false,
          "Background": false,
          "Wmts": false,
          "Visible": true,
          "Disabled": false,
          "AddsInTheStart": true,
          "AppendAtTheEnd": true,
          "DontAddToLayerExplorer": true,
          "Params": {
            "TerraMA2WebComponentsFunction": "addOSMLayer",
            "ImagerySet": "AerialWithLabels",
            "BingMapsKey": "qwertyuioasdfgjh",
            "Url": "https://prodwww-queimadas.dgi.inpe.br/geoserver/ows",
            "ServerType": "geoserver",
            "MinResolution": 0,
            "MaxResolution": "Infinity",
            "Time": "1997-01-01/2012-12-31",
            "Time": "{{FINAL_DATE=YYYY-MM-DD}}",
            "Time": "{{-|1|d=YYYY-MM-DD}}",
            "Buffer": 512,
            "Classes": "unsortable unsortable-separator float-left clear-none",
            "Style": "left: 85px;",
            "MinTimeForTodaysImage": "18:00:00",
            "Version": "1.1.0",
            "Format": "image/jpeg",
            "MatrixSet": "EPSG4326_250m",
            "TileGrid": {
              "origin": [-180, 90],
              "resolutions": [0.5625, 0.28125, 0.140625, 0.0703125, 0.03515625, 0.017578125, 0.0087890625, 0.00439453125, 0.002197265625],
              "matrixIds": [0, 1, 2, 3, 4, 5, 6, 7, 8],
              "tileSize": 512
            },
            "TimeYear": "ano",
            "TimeMonth": "mes",
            "TimeDay": "dia"
          }
        }
      ]
    }
  ]
}

Opções:

Subtitles -> Lista de legendas.

Id -> Id da legenda.

LayerId -> Id da camada a que a legenda corresponde.

LayerName -> Nome da camada a que a legenda corresponde.

Subtitles -> Lista de itens da legenda.

SubtitleId -> Id do item.

SubtitleText -> Nome do item.

FillColor -> Cor de preenchimento (caso não se aplique o valor deve ser null).

BorderColor -> Cor da borda (caso não se aplique o valor deve ser null).

Image -> Caminho de uma imagem (o caminho deve ser referente ao endereço raiz da aplicação, e caso não se aplique o valor deve ser null).

MinResolution -> Resolução mínima para a imagem ser exibida.

MaxResolution -> Resolução máxima para a imagem ser exibida.

UseLayerGroupsInTheLayerExplorer -> Flag que indica se devem ser utilizados grupos de camadas no Layer Explorer.

EnableAddAndRemoveLayers -> Flag que indica se a função de adicionar e remover layers deve estar disponível.

Layers -> Lista de camadas.

Id -> Id do grupo.

Name -> Nome do grupo.

LayerGroup -> Flag que indica se a camada é um grupo.

Layers -> Lista de camadas do grupo.

Id -> Id da camada (nome da camada no GeoServer, com a workspace inclusa).

Name -> Nome da camada.

Title -> Nome para ser utilizado no hover do mouse.

LayerGroup -> Flag que indica se a camada é um grupo.

Background -> Flag que indica se a camada é um plano de fundo.

Wmts -> Flag que indica se a camada é WMTS.

Visible -> Flag que indica se a camada deve ser visível por padrão.

Disabled -> Flag que indica se a camada deve estar desabilitada por padrão.

AddsInTheStart -> Flag que indica se a camada deve ser inserida por padrão.

AppendAtTheEnd -> Flag que indica se a camada deve ser inserida no final da lista de camadas.

DontAddToLayerExplorer -> Flag que indica se a camada não deve inserida no Layer Explorer.

Params -> Parâmetros da camada.

!TerraMA2WebComponentsFunction -> Nome de método do TerraMA2WebComponents, utilizado quando a camada for adicionada por meio de uma função da ferramenta (caso não se aplique esse item não precisa existir).

ImagerySet -> Tipo de imagem do Bing Maps, utilizado na camada do Bing Maps (caso não se aplique esse item não precisa existir).

BingMapsKey -> Chave do Bing Maps, utilizado na camada do Bing Maps (caso não se aplique esse item não precisa existir).

Url -> Url do servidor de mapas (caso não se aplique esse item não precisa existir).

ServerType -> Tipo do servidor, geoserver ou mapserver (caso não se aplique esse item não precisa existir).

MinResolution -> Resolução mínima da camada.

MaxResolution -> Resolução máxima da camada. Caso a resolução máxima desejada seja infinita, deve ser utilizada a string "Infinity".

Time -> Parametro temporal (para camadas temporais). Pode-se utilizar datas literais (hardcoded) ou padrões baseados nas datas do filtro e / ou data atual (clique aqui para entender os padrões).

Buffer -> Buffer de pixels adicionais para serem utilizados nas operações 'GetMap?' e 'GetFeatureInfo?'.

Classes -> Classes CSS a serem adicionadas no elemento li da camada no Layer Explorer.

Style -> Estilos CSS a serem utilizados no elemento li da camada no Layer Explorer.

MinTimeForTodaysImage -> Horário mínimo para utilizar a imagem do dia atual. Utilizado em camadas temporais.

Version -> Versão do WMTS. Utilizado em camadas WMTS (que tem a flag Wmts setada como true).

Format -> Formato das imagens da camada, "image/jpeg" ou "image/png" por exemplo.

MatrixSet -> Identificador Matrix Set (deve ser um valor válido correspondente ao recurso).

TileGrid -> Dados de resoluções, tamanho de tiles e extent (devem ser valores válidos correspondentes ao recurso).

TimeYear -> Nome do parâmetro referente ao ano (informação utilizada em camadas temporais que tem dia, mês e ano separados).

TimeMonth -> Nome do parâmetro referente ao mês (informação utilizada em camadas temporais que tem dia, mês e ano separados).

TimeDay -> Nome do parâmetro referente ao dia (informação utilizada em camadas temporais que tem dia, mês e ano separados).


Documentação de Deploy da Aplicação BDQueimadas

1. PostgreSQL?

Dates Pattern

2. GeoServer

3. Aplicação?

4. Arquivos de Configurações?