4.7. Cadastro Ambiental Rural (CAR)

O Cadastro Ambiental Rural (CAR) tem o objetivo de integrar as informações ambientais das propriedades e posses rurais, compondo base de dados para controle, monitoramento, planejamento ambiental e econômico e combate ao desmatamento. Ele é um registro público eletrônico declaratório, obrigatório para todos os imóveis rurais, e foi criado pela Lei Nº 12.651, de 25 de maio de 2012 [42] no âmbito do Sistema Nacional de Informação sobre Meio Ambiente (SINIMA). A Lei estabelece que a inscrição do imóvel rural no CAR deverá ser feita, preferencialmente, no órgão ambiental municipal ou estadual. Para o cadastro, são exigidas:

  1. identificação do proprietário ou possuidor rural;

  2. comprovação da propriedade ou posse;

  3. identificação do imóvel por meio de planta e memorial descritivo, contendo a indicação das coordenadas geográficas com pelo menos um ponto de amarração do perímetro do imóvel, informando a localização dos remanescentes de vegetação nativa, das Áreas de Preservação Permanente, das Áreas de Uso Restrito, das áreas consolidadas e, caso existente, da localização da Reserva Legal.

Na Lei Nº 12.651, de 25 de maio de 2012 [42] fica claro que o CAR não será considerado título para fins de reconhecimento do direito de propriedade ou posse, tampouco elimina a necessidade de cumprimento do disposto no art. 2º da Lei nº 10.267, de 28 de agosto de 2001 [43] no que diz respeito ao Sistema Nacional de Cadastro Rural gerido pelo Instituto Nacional de Colonização e Reforma Agrária (Incra).

O Serviço Florestal Brasileiro (SFB) é responsável por coordenar, em âmbito federal, o CAR e, prestar apoio técnico à sua implementação nos entes federativos, por meio de disponibilização de soluções tecnológicas. O SFB disponibiliza regularmente documentos com informações sobre o andamento desta política, compilando os dados cadastrados em cada estado. Os dados do CAR para cada uma das unidades da federação estão disponíveis para download no seguinte link. Nos links para cada estado são disponibilizados os seguintes dados:

  1. Perímetro dos imóveis;

  2. Áreas de Preservação Permanente;

  3. Remanescente de Vegetação Nativa;

  4. Área Consolidada;

  5. Área de Pousio;

  6. Hidrografia;

  7. Uso Restrito;

  8. Servidão Administrativa; e

  9. Reserva Legal

Neste trabalho foram obtidos os dados do CAR para os estados do Paraná, Rio Grande do Sul e Santa Catarina cujo dado com detalhes é apresentado na Figura 4.7.

Cadastro Ambiental Rural para os estados do Paraná, Rio Grande do Sul e Santa Catarina

Figura 4.7 - Cadastro Ambiental Rural para os estados do Paraná, Rio Grande do Sul e Santa Catarina.

O conjunto de dados do car está armazenado no banco de dados em tabelas separadas, cuja composição do nome inicia pela identificação car_ seguida identificação do conjunto de dados apresentados na lista acima e finalmente pela identificação do estado. Dessa maneira, como exemplo, o nome da tabela contendo o limite do imóvel para o estado de Santa Catarina ficaria da seguinte maneira car_area_imovel_sc. A Tabela 4.11 apresenta a estrutura desse conjunto de dados que se repete em todas as tabelas. As colunas alfanuméricas encontram-se codificadas em UTF-8.

Tabela 4.11 - Estrutura do conjunto de arquivos do CAR.

nome

tipo

descrição

PK

id

integer

Identificador

cod_tema

varchar(254)

Codigo do tema da tabela

nom_tema

varchar(254)

Nome do tema da tabela

cod_imovel

varchar(254)

Código do imóvel

num_area

numerico

Área do tema

ind_status

numerico

Status do CAR. Ativo (AT), Pendente (PE) ou Cancelado (CA)

ind_status

numerico

Descrição da condição

geom

geometry(MultiPolygon,4674)

Geometria do CAR

4.7.1. Consultas

Consulta 1. Verificar como está a topologia dos dados do CAR.

Solução:

Para agilizar o processamento, inicialmente iremos obter os dados do CAR apenas para um município selecionado

CREATE TABLE car_area_imovel_sl AS
SELECT car_area_imovel_pr.*
  FROM car_area_imovel_pr,
       municipios_2022
 WHERE ST_Within(car_area_imovel_pr.geom, municipios_2022.geom)
   AND municipios_2022.cd_mun = 4123824;


ALTER TABLE car_area_imovel_sl ADD CONSTRAINT car_area_imovel_sl_pkey PRIMARY KEY (id);

CREATE INDEX car_area_imovel_sl_geom_idx ON car_area_imovel_sl USING GiST(geom);

A consulta acima criou a tabela car_area_imovel_sl contendo os polígonos do CAR contendo os limites das áreas de imóveis do município de Santa Lúcia no Paraná. Vamos repetir a consulta para as demais tabelas do CAR, iniciando pela tabela que contém as APPs (car_app_pr).

CREATE TABLE car_app_pr_sl AS
SELECT car_app_pr.*
  FROM car_app_pr,
       municipios_2022
 WHERE ST_Within(car_app_pr.geom, municipios_2022.geom)
   AND municipios_2022.cd_mun = 4123824;


ALTER TABLE car_app_pr_sl ADD CONSTRAINT car_app_pr_sl_pkey PRIMARY KEY (id);

CREATE INDEX car_app_pr_sl_geom_idx ON car_app_pr_sl USING GiST(geom);

Vamos obter também as áreas de reserva legal da tabela car_reserva_legal_pr.

CREATE TABLE car_reserva_legal_pr_sl AS
SELECT car_reserva_legal_pr.*
  FROM car_reserva_legal_pr,
       municipios_2022
 WHERE ST_Within(car_reserva_legal_pr.geom, municipios_2022.geom)
   AND municipios_2022.cd_mun = 4123824;


ALTER TABLE car_reserva_legal_pr_sl ADD CONSTRAINT car_reserva_legal_pr_sl_pkey PRIMARY KEY (id);

CREATE INDEX car_reserva_legal_pr_sl_geom_idx ON car_reserva_legal_pr_sl USING GiST(geom);

E incluir também as áreas de vegetação nativa da tabela car_vegetacao_nativa_pr.

CREATE TABLE car_vegetacao_nativa_pr_sl AS
SELECT car_vegetacao_nativa_pr.*
  FROM car_vegetacao_nativa_pr,
       municipios_2022
 WHERE ST_Within(car_vegetacao_nativa_pr.geom, municipios_2022.geom)
   AND municipios_2022.cd_mun = 4123824;


ALTER TABLE car_vegetacao_nativa_pr_sl ADD CONSTRAINT car_vegetacao_nativa_pr_pkey PRIMARY KEY (id);

CREATE INDEX car_vegetacao_nativa_pr_sl_geom_idx ON car_vegetacao_nativa_pr_sl USING GiST(geom);

Como visto na anteriormente em Verificação Topológica das Geometrias das Glebas, vamos testar e verificar se existem erros topológicos nesses dados.

SELECT id
  FROM car_area_imovel_sl
 WHERE NOT ST_IsValid(geom);
SELECT id
  FROM car_app_pr_sl
 WHERE NOT ST_IsValid(geom);
SELECT id
  FROM car_reserva_legal_pr_sl
 WHERE NOT ST_IsValid(geom);
SELECT id
  FROM car_vegetacao_nativa_pr
 WHERE NOT ST_IsValid(geom);

Consulta 2. Existem sobreposições entre as glebas e as áreas de APPs nesse município?

Solução:
CREATE TABLE glebas_area_estudo_x_car_app_pr_sl AS
SELECT glebas.gid,
       car_app_pr_sl.id,
       ST_Area(ST_Transform(glebas.geom, 100000)) / 10000.0 AS area_gleba,
       ST_Area(ST_Transform(car_app_pr_sl.geom, 100000))  / 10000.0 AS area_app,
       ST_Area(ST_Transform(ST_Intersection(glebas.geom, car_app_pr_sl.geom), 100000)) / 10000.0 AS area_interseccao,
       ST_Intersection(glebas.geom, car_app_pr_sl.geom) AS geom
  FROM glebas_area_estudo AS glebas,
            car_app_pr_sl
 WHERE ST_Intersects(glebas.geom, car_app_pr_sl.geom);

Consulta 3. Das glebas que possuem intersecção com as APPs do CAR quais delas possuem mais de 10% da área com algum tipo de intersecção?

Solução:

Primeiro, devemos unir as várias partes de uma mesma gleba que podem ter sido geradas na criação da tabela glebas_area_estudo_x_car_app_pr_sl`. A consulta base para união é mostrada abaixo:

  SELECT gid, ST_Union(geom) AS geom_intersecao
    FROM glebas_area_estudo_x_car_app_pr_sl
GROUP BY gid;

Agora, podemos incluir a consulta acima como uma subconsulta para realização dos cálculos

SELECT gid, ST_Area(ST_Transform(geom_intersecao, 100000))/10000.0 AS area_interseccao, area_gleba
  FROM (
          SELECT gid, MAX(area_gleba) AS area_gleba,
                     ST_Union(geom) AS geom_intersecao
            FROM glebas_area_estudo_x_car_app_pr_sl
        GROUP BY gid
        )
   WHERE ( ST_Area(ST_Transform(geom_intersecao, 100000)) / 10000.0) / area_gleba >= 0.1
ORDER BY gid ASC, area_interseccao DESC;

Observem que os resultados dessa consulta diferem dos resultados da consulta abaixo

SELECT gid, Sum(area_interseccao) AS area_interseccao
                      FROM glebas_area_estudo_x_car_app_pr_sl
 WHERE area_interseccao / area_gleba >= 0.1
              GROUP BY gid;