tunned-geobr 1.0.7__py3-none-any.whl → 1.0.9__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
@@ -129,3 +129,4 @@ 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
131
  from .read_exploration_blocks import read_exploration_blocks
132
+ from .read_production_fields import read_production_fields
@@ -139,6 +139,7 @@ def list_geobr():
139
139
 
140
140
  # Energy infrastructure datasets - Oil and Gas Infrastructure
141
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"},
142
143
  {"Function": "read_fuel_bases", "Geography": "Fuel Bases", "Years": "All", "Source": "EPE"},
143
144
  {"Function": "read_glp_bases", "Geography": "GLP (LPG) Bases", "Years": "All", "Source": "EPE"},
144
145
  {"Function": "read_processing_facilities", "Geography": "Oil and Gas Processing Facilities", "Years": "All", "Source": "EPE"},
@@ -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.7
3
+ Version: 1.0.9
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.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
1
+ tunned_geobr-1.0.9.dist-info/METADATA,sha256=9kwtRWvanWUDEw9kf_cxgQfNxKlT5zt9p0Z1f02QVDQ,5018
2
+ tunned_geobr-1.0.9.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
+ tunned_geobr-1.0.9.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
+ tunned_geobr-1.0.9.dist-info/licenses/LICENSE.txt,sha256=mECZRcbde3HssOKe1Co4zgqBLGVN0OWpTsEy3LIbcRA,75
5
+ tunned_geobr/__init__.py,sha256=b2xOTqV-FDT-L-Tc3Us1c_XydiHF-HEqAKTbSvWXCEo,7552
6
6
  tunned_geobr/data/grid_state_correspondence_table.csv,sha256=FpkBuX_-lRXQ1yBrQODxQgG9oha9Fd8A8zGKfdsDAmk,2660
7
- tunned_geobr/list_geobr.py,sha256=4vnssqrELxH451bZyn0ag0Ja_xFZMKzArGUtzuLF_Ww,17527
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.7.dist-info/RECORD,,
143
+ tunned_geobr-1.0.9.dist-info/RECORD,,