tunned-geobr 1.0.6__py3-none-any.whl → 1.0.8__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,8 @@ 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"},
142
+ {"Function": "read_production_fields", "Geography": "Oil and Gas Production Fields", "Years": "All", "Source": "ANP"},
141
143
  {"Function": "read_fuel_bases", "Geography": "Fuel Bases", "Years": "All", "Source": "EPE"},
142
144
  {"Function": "read_glp_bases", "Geography": "GLP (LPG) Bases", "Years": "All", "Source": "EPE"},
143
145
  {"Function": "read_processing_facilities", "Geography": "Oil and Gas Processing Facilities", "Years": "All", "Source": "EPE"},
@@ -175,6 +177,8 @@ def list_geobr():
175
177
  {"Function": "read_icmbio_embargoes", "Geography": "ICMBio Embargoed Areas", "Years": "All", "Source": "ICMBio"},
176
178
  {"Function": "read_icmbio_infractions", "Geography": "ICMBio Infraction Notices", "Years": "All", "Source": "ICMBio"},
177
179
  {"Function": "read_ibama_embargoes", "Geography": "IBAMA Embargoed Areas", "Years": "All", "Source": "IBAMA"}
180
+
181
+ # update later
178
182
  ]
179
183
 
180
184
  # 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_production_fields(simplified=False):
9
+ """Download Brazilian Oil and Gas Production Fields data from ANP.
10
+
11
+ This function downloads and processes the Brazilian Oil and Gas Production Fields 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 oil and gas production fields data
24
+
25
+ Example
26
+ -------
27
+ >>> from tunned_geobr import read_production_fields
28
+
29
+ # Read production fields data
30
+ >>> fields = read_production_fields()
31
+ """
32
+
33
+ url = "https://gishub.anp.gov.br/geoserver/BD_ANP/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=BD_ANP%3ACAMPOS_PRODUCAO_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 production fields 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', # Field name
70
+ 'OPERADOR', # Operator
71
+ 'BACIA', # Basin
72
+ 'AMBIENTE', # Environment (onshore/offshore)
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 production fields data: {str(e)}")
82
+
83
+ return gdf
84
+
85
+ if __name__ == '__main__':
86
+ read_production_fields()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tunned-geobr
3
- Version: 1.0.6
3
+ Version: 1.0.8
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.6.dist-info/METADATA,sha256=4OjqUhyA4Js8BnGvXTz8nRjj0z1Q34F8GlhRZVX_yZo,5018
2
- tunned_geobr-1.0.6.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
- tunned_geobr-1.0.6.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
- tunned_geobr-1.0.6.dist-info/licenses/LICENSE.txt,sha256=mECZRcbde3HssOKe1Co4zgqBLGVN0OWpTsEy3LIbcRA,75
5
- tunned_geobr/__init__.py,sha256=hOI1zU8GGz2yBn8S6kIAqwmICaJbTIQ3rvtjLaBgZUs,7432
1
+ tunned_geobr-1.0.8.dist-info/METADATA,sha256=ZflisVEC8hkJdlLKNkfDq3yEk3ms4LGGdUrMesIj5Y4,5018
2
+ tunned_geobr-1.0.8.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
+ tunned_geobr-1.0.8.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
+ tunned_geobr-1.0.8.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=n7bAi7O4QYdceAsfhI9M4mJ7zP1SbO5YS8iT1MQ-d9M,17654
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
@@ -115,6 +115,7 @@ tunned_geobr/read_pop_arrangements.py,sha256=D9Q1hT5t8yXfGoKaIRSPLjkVaf-eX2fS9of
115
115
  tunned_geobr/read_ports.py,sha256=dOFOhQ2kim-_VJ_bC1ZiABqD9-FCOelkrTAaLD_yAmY,2848
116
116
  tunned_geobr/read_private_aerodromes.py,sha256=Il9sfvBxDM-Xv6fkvOXYfaFLfjOaHlIw-tTGhUJ_TpM,2918
117
117
  tunned_geobr/read_processing_facilities.py,sha256=8iCveDTk7MXm1bmb1pcknzen62HTGYQ3KEzvUGSdWfk,5349
118
+ tunned_geobr/read_production_fields.py,sha256=yw1g6u4kLGgiFwEbIcoj2IxvGGcT6u8sASqM2RRNk1Q,3182
118
119
  tunned_geobr/read_public_aerodromes.py,sha256=nq3b9HF5_e-yeNcSfQ5ktdAGHKbSfDD_imj-tOhjKJA,2909
119
120
  tunned_geobr/read_quilombola_areas.py,sha256=iY-r4YDRjaGyO-iPRBm1kWDkN_-axjYxMAQyAjIfG68,4288
120
121
  tunned_geobr/read_railways.py,sha256=J6eM0yr049CaOL95PMd4sGc7JJHiEinJhqf0ThCOClg,2763
@@ -139,4 +140,4 @@ tunned_geobr/read_water_bodies_ana.py,sha256=Z-dpTPVgRHVndTeSFxx8uXn7ufMg2jm0Dlz
139
140
  tunned_geobr/read_waterways.py,sha256=mEdoVogYWr5EYZ8bE3xMCVWyLrHYU7xTL2lUE0XbDAM,2951
140
141
  tunned_geobr/read_weighting_area.py,sha256=m2X5Ua3jRqLlkqCQbIzR2jmo58pzqkyR3UYcGtgy20E,2325
141
142
  tunned_geobr/utils.py,sha256=WT9PSGWvcERjj3yhfTvyWSE5ZiEjO4tYK5xIj5jJCg8,8170
142
- tunned_geobr-1.0.6.dist-info/RECORD,,
143
+ tunned_geobr-1.0.8.dist-info/RECORD,,