Cadastro Nacional de Unidades de Conservação¶
O governo brasileiro protege as áreas naturais por meio de Unidades de Conservação (UC) - estratégia extremamente eficaz para a manutenção dos recursos naturais em longo prazo. Para atingir esse objetivo de forma efetiva e eficiente, foi instituído o Sistema Nacional de Conservação da Natureza (SNUC), com a promulgação da Lei nº 9.985, de 18 de julho de 2000. A Lei do SNUC representou grandes avanços à criação e gestão das UC nas três esferas de governo (federal, estadual e municipal), pois ele possibilita uma visão de conjunto das áreas naturais a serem preservadas. Além disso, estabeleceu mecanismos que regulamentam a participação da sociedade na gestão das UC, potencializando a relação entre o Estado, os cidadãos e o meio ambiente.
Um dos instrumentos da Lei do SNUC é o Cadastro Nacional de Unidades de Conservação (CNUC) e sua gestão ocorre pelo Departamento de Áreas Protegidas (DAP) do Ministério do Meio Ambiente (MMA).
A vantagem de obter os dados do CNUC é que, supostamente, todas as UCs Estaduais e Municipais também estão cadastradas. Quando obtemos os dados do ICMBio, apenas as UCs Federais estarão listadas.
from owslib.wfs import WebFeatureService
from owslib.wms import WebMapService
import open_geodata as geo
import io
import tempfile
from pathlib import Path
import geopandas as gpd
Pooch¶
Os dados do CNUC está disponíveis de formas diferentes: a primeira delas é o Portal de Dados Abertos do Governo Federal. E, portanto, com auxílio do pooch foi possível baixar.
db = geo.data.DB(db='br_cnuc')
db.list_data
filename = db.get_data(name='geo.Polígono CNUC 2025_03')
filename
gdf = geo.load_dataset(
db='br_cnuc',
name='geo.Polígono CNUC 2025_03',
shapefile='cnuc_2025_03.shp',
engine='fiona',
)
gdf.info()
gdf.head()
gdf.explore(column='categoria')
Consumindo os dados tabulares
df = geo.load_dataset(db='br_cnuc', name='tab.CNUC_2025_1º semestre', sep=';')
df.info()
df.head()
Outros¶
DESENVOLVER. NÃO TIVE SUCESSO ATÉ O MOMENTO.
A outra forma é explorar o MapServer que dá sustentação ao portal do CNUC.
https://demo.mapserver.org/cgi-bin/msautotest?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
https://cnuc-mapserv.mma.gov.br/cgi-bin/mapserv?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
wfs = WebFeatureService(
# url='https://geoserver.funai.gov.br/geoserver/ows/',
# url='http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/biorregioes.map&SERVICE=WMS&REQUEST=GetCapabilities',
url='http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/florestaspublicas.map&',
#
# version='1.3.0',
#version='2.0.0',
)
wms = WebMapService(
# url='https://geoserver.funai.gov.br/geoserver/ows/',
# url='http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/biorregioes.map',
# url='http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/florestaspublicas.map&',
url='http://mapas.mma.gov.br/i3geo/ogc.php?tema=undefined', # i3geo
#
version='1.3.0',
# version='2.0.0',
)
for layer_name, layer in wms.contents.items():
# if layer.queryable == 0:
print(f'Layer: {layer_name}')
print(f' Title: {layer.title}')
print(f' Abstract: {layer.abstract}')
print(f' BoundingBox: {layer.boundingBoxWGS84}')
print(f' CRS: {layer.crsOptions}')
print(f' Styles: {layer.styles}')
print(f' Keywords: {layer.keywords}')
# print(f" Queryable: {layer.queryable}")
# print(f" Opaque: {layer.opaque}")
# print(f" Dimensions: {layer.dimensions}")
print(f' MetadataURLs: {layer.metadataUrls}')
print()
# Obter os dados no formato GeoJSON (ou outro formato suportado)
response = wms.getfeature(
typename='estadosl',
# bbox=(173700, 440400, 178700, 441400),
# srsname='EPSG:28992'
# srsname='EPSG:4326',
# srsname='EPSG:4674',
# outputFormat='application/json',
)
response