Fiona reads and writes spatial data files
88
GDAL environment configuration, credential management for cloud storage access, and driver management for controlling which data formats are available.
class Env:
def __init__(
self,
session=None,
aws_unsigned=False,
profile_name=None,
session_options=None,
**options
):
"""
Context manager for GDAL and AWS configuration.
Parameters:
- session: Session object for credential management
- aws_unsigned: bool, use unsigned requests for public data
- profile_name: str, AWS profile name
- session_options: dict, session configuration options
- options: dict, additional GDAL configuration options
"""
@classmethod
def from_defaults(cls, *args, **kwargs):
"""Create Env with default configuration options."""
@classmethod
def default_options(cls):
"""Return default configuration options."""
def credentialize(self):
"""Configure GDAL with credentials."""
def drivers(self):
"""Return mapping of registered drivers."""from fiona.env import Env
import fiona
# Basic environment context
with Env():
with fiona.open('data.shp', 'r') as collection:
for feature in collection:
print(feature)
# AWS S3 access with credentials
with Env(aws_unsigned=False, profile_name='default'):
with fiona.open('/vsis3/bucket/data.geojson', 'r') as collection:
print(f"Features: {len(collection)}")
# Custom GDAL options
with Env(GDAL_DISABLE_READDIR_ON_OPEN='EMPTY_DIR'):
with fiona.open('large_directory/data.shp', 'r') as collection:
# Faster opening for directories with many files
passdef ensure_env(f):
"""Decorator ensuring GDAL environment exists."""
def ensure_env_with_credentials(f):
"""Decorator ensuring environment with credentials."""Install with Tessl CLI
npx tessl i tessl/pypi-fionadocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10