tunned-geobr 1.0.5__py3-none-any.whl → 1.0.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
tunned_geobr/__init__.py CHANGED
@@ -128,3 +128,4 @@ from .read_icmbio_embargoes import read_icmbio_embargoes
128
128
  from .read_icmbio_infractions import read_icmbio_infractions
129
129
  from .read_ibama_embargoes import read_ibama_embargoes
130
130
  from .read_climate import read_climate
131
+ from .read_exploration_blocks import read_exploration_blocks
@@ -138,6 +138,7 @@ def list_geobr():
138
138
  {"Function": "read_biomethane_plants", "Geography": "Biomethane Production Plants", "Years": "All", "Source": "EPE"},
139
139
 
140
140
  # Energy infrastructure datasets - Oil and Gas Infrastructure
141
+ {"Function": "read_exploration_blocks", "Geography": "Oil and Gas Exploration Blocks", "Years": "All", "Source": "ANP"},
141
142
  {"Function": "read_fuel_bases", "Geography": "Fuel Bases", "Years": "All", "Source": "EPE"},
142
143
  {"Function": "read_glp_bases", "Geography": "GLP (LPG) Bases", "Years": "All", "Source": "EPE"},
143
144
  {"Function": "read_processing_facilities", "Geography": "Oil and Gas Processing Facilities", "Years": "All", "Source": "EPE"},
@@ -175,6 +176,8 @@ def list_geobr():
175
176
  {"Function": "read_icmbio_embargoes", "Geography": "ICMBio Embargoed Areas", "Years": "All", "Source": "ICMBio"},
176
177
  {"Function": "read_icmbio_infractions", "Geography": "ICMBio Infraction Notices", "Years": "All", "Source": "ICMBio"},
177
178
  {"Function": "read_ibama_embargoes", "Geography": "IBAMA Embargoed Areas", "Years": "All", "Source": "IBAMA"}
179
+
180
+ # update later
178
181
  ]
179
182
 
180
183
  # Create DataFrame
@@ -0,0 +1,86 @@
1
+ import geopandas as gpd
2
+ import tempfile
3
+ import os
4
+ import requests
5
+ from zipfile import ZipFile
6
+ from io import BytesIO
7
+
8
+ def read_exploration_blocks(simplified=False):
9
+ """Download Brazilian Exploration Blocks data from ANP.
10
+
11
+ This function downloads and processes the Brazilian Exploration Blocks data
12
+ from ANP (National Petroleum Agency).
13
+ Original source: ANP - Agência Nacional do Petróleo, Gás Natural e Biocombustíveis
14
+
15
+ Parameters
16
+ ----------
17
+ simplified : boolean, by default False
18
+ If True, returns a simplified version of the dataset with fewer columns
19
+
20
+ Returns
21
+ -------
22
+ gpd.GeoDataFrame
23
+ Geodataframe with Brazilian exploration blocks data
24
+
25
+ Example
26
+ -------
27
+ >>> from tunned_geobr import read_exploration_blocks
28
+
29
+ # Read exploration blocks data
30
+ >>> blocks = read_exploration_blocks()
31
+ """
32
+
33
+ url = "https://gishub.anp.gov.br/geoserver/BD_ANP/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=BD_ANP%3ABLOCOS_EXPLORATORIOS_SIRGAS&maxFeatures=40000&outputFormat=SHAPE-ZIP"
34
+
35
+ try:
36
+ # Download the zip file
37
+ response = requests.get(url)
38
+ if response.status_code != 200:
39
+ raise Exception("Failed to download exploration blocks data from ANP")
40
+
41
+ # Create a temporary directory
42
+ with tempfile.TemporaryDirectory() as temp_dir:
43
+ # Extract the zip file
44
+ with ZipFile(BytesIO(response.content)) as zip_ref:
45
+ zip_ref.extractall(temp_dir)
46
+
47
+ # Find the shapefile
48
+ shp_files = []
49
+ for root, dirs, files in os.walk(temp_dir):
50
+ shp_files.extend([os.path.join(root, f) for f in files if f.endswith('.shp')])
51
+
52
+ if not shp_files:
53
+ raise Exception("No shapefile found in the downloaded data")
54
+
55
+ # Read the shapefile
56
+ gdf = gpd.read_file(shp_files[0])
57
+
58
+ # Convert to SIRGAS 2000 (EPSG:4674) if not already
59
+ if gdf.crs is None:
60
+ gdf.crs = 4674
61
+ elif gdf.crs.to_epsg() != 4674:
62
+ gdf = gdf.to_crs(4674)
63
+
64
+ if simplified:
65
+ # Keep only the most relevant columns
66
+ # Note: Column names based on typical ANP data structure
67
+ columns_to_keep = [
68
+ 'geometry',
69
+ 'NOME', # Block name
70
+ 'OPERADOR', # Operator
71
+ 'BACIA', # Basin
72
+ 'CONTRATO', # Contract
73
+ 'AREA_KM2' # Area in square kilometers
74
+ ]
75
+
76
+ # Filter columns that actually exist in the dataset
77
+ existing_columns = ['geometry'] + [col for col in columns_to_keep[1:] if col in gdf.columns]
78
+ gdf = gdf[existing_columns]
79
+
80
+ except Exception as e:
81
+ raise Exception(f"Error downloading exploration blocks data: {str(e)}")
82
+
83
+ return gdf
84
+
85
+ if __name__ == '__main__':
86
+ read_exploration_blocks()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tunned-geobr
3
- Version: 1.0.5
3
+ Version: 1.0.7
4
4
  Summary: Fork personalizado do geobr com funcionalidades extras como download de dados da ANM
5
5
  Author: Anderson Stolfi
6
6
  License: MIT
@@ -1,10 +1,10 @@
1
- tunned_geobr-1.0.5.dist-info/METADATA,sha256=-affpDgkILf1uDTzEkWj4GF2uYTo6yEbSEfH-pzB3po,5018
2
- tunned_geobr-1.0.5.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
- tunned_geobr-1.0.5.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
- tunned_geobr-1.0.5.dist-info/licenses/LICENSE.txt,sha256=mECZRcbde3HssOKe1Co4zgqBLGVN0OWpTsEy3LIbcRA,75
5
- tunned_geobr/__init__.py,sha256=hOI1zU8GGz2yBn8S6kIAqwmICaJbTIQ3rvtjLaBgZUs,7432
1
+ tunned_geobr-1.0.7.dist-info/METADATA,sha256=jkLz6SCLCEk3xzMTwhlmKhJ5rl6SN6Q6V9JCZeKFW2Y,5018
2
+ tunned_geobr-1.0.7.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
+ tunned_geobr-1.0.7.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
+ tunned_geobr-1.0.7.dist-info/licenses/LICENSE.txt,sha256=mECZRcbde3HssOKe1Co4zgqBLGVN0OWpTsEy3LIbcRA,75
5
+ tunned_geobr/__init__.py,sha256=NCu9ZgG1i218TKc9ldtjc9m2_1iqOTgzTt0o1m4vZqs,7493
6
6
  tunned_geobr/data/grid_state_correspondence_table.csv,sha256=FpkBuX_-lRXQ1yBrQODxQgG9oha9Fd8A8zGKfdsDAmk,2660
7
- tunned_geobr/list_geobr.py,sha256=cPi2m8jZHoYE1SpYVdvkU9rjw7MzJukt5kRTsqtiwz8,17374
7
+ tunned_geobr/list_geobr.py,sha256=4vnssqrELxH451bZyn0ag0Ja_xFZMKzArGUtzuLF_Ww,17527
8
8
  tunned_geobr/lookup_muni.py,sha256=ny1zU4i6OagvL4Mrc6XQWPgn2RrJa_mXlKXh81oVYsM,3462
9
9
  tunned_geobr/read_ama_anemometric_towers.py,sha256=M3qKBTBYdqHzTuWtRrBiLA88Ymt6g0cf7sakJd5mTRo,4686
10
10
  tunned_geobr/read_amazon.py,sha256=HiwKnYebWe3nDMDRUqHpKJIO76bA4ERm4iJlCPhagQg,1286
@@ -46,6 +46,7 @@ tunned_geobr/read_existent_solar.py,sha256=JXbgvPk0XVsERZidVIEbXfC6c-cq1KEIWan1c
46
46
  tunned_geobr/read_existent_substations.py,sha256=v9Noi50t5sGMaLqDh5L10H1qH6n5tO2zqx0objPWe50,5385
47
47
  tunned_geobr/read_existent_transmission_lines.py,sha256=rImT61mjwKLauC6MLuN5csTOr1L6DZGezntXv8t7y8Y,5409
48
48
  tunned_geobr/read_existent_uhe.py,sha256=sT5SoZte2sVON2av9FjSXa4-d4vm9wltnqhShbcImzY,7563
49
+ tunned_geobr/read_exploration_blocks.py,sha256=n2ij1Ar2quxyFw7v-5oKsKmvFsiNszadMCQrom5RuvI,3135
49
50
  tunned_geobr/read_exploration_production_environment.py,sha256=nmf5zUDXF1mFHqGudnctj94aEZzdtnCxM7Ikrx0p9kk,4695
50
51
  tunned_geobr/read_federal_highways.py,sha256=nULCIBFRPKlXWuCMujX_AJv7ZUcwSQtQzhhuFUJ44o0,2797
51
52
  tunned_geobr/read_federal_union_areas.py,sha256=gP2yJMPzz0xna18ldLIbqK0m3LuW84NkX9L0E4ZjNXE,5358
@@ -138,4 +139,4 @@ tunned_geobr/read_water_bodies_ana.py,sha256=Z-dpTPVgRHVndTeSFxx8uXn7ufMg2jm0Dlz
138
139
  tunned_geobr/read_waterways.py,sha256=mEdoVogYWr5EYZ8bE3xMCVWyLrHYU7xTL2lUE0XbDAM,2951
139
140
  tunned_geobr/read_weighting_area.py,sha256=m2X5Ua3jRqLlkqCQbIzR2jmo58pzqkyR3UYcGtgy20E,2325
140
141
  tunned_geobr/utils.py,sha256=WT9PSGWvcERjj3yhfTvyWSE5ZiEjO4tYK5xIj5jJCg8,8170
141
- tunned_geobr-1.0.5.dist-info/RECORD,,
142
+ tunned_geobr-1.0.7.dist-info/RECORD,,