CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-fiona

Fiona reads and writes spatial data files

88

1.10x
Overview
Eval results
Files

transforms.mddocs/

Coordinate Transformations

Functions for transforming coordinates and geometries between different coordinate reference systems, essential for integrating data from different sources and projections.

Capabilities

Coordinate Transformation

Transform coordinate sequences between coordinate reference systems.

def transform(src_crs, dst_crs, xs, ys):
    """
    Transform coordinate sequences between CRS.
    
    Parameters:
    - src_crs: CRS or CRS-like, source coordinate reference system
    - dst_crs: CRS or CRS-like, destination coordinate reference system  
    - xs: array-like, x coordinates (longitude or easting)
    - ys: array-like, y coordinates (latitude or northing)
    
    Returns:
    tuple: (transformed_xs, transformed_ys) coordinate arrays
    
    Raises:
    - TransformError: If transformation fails
    """

Geometry Transformation

Transform geometry objects between coordinate reference systems.

def transform_geom(src_crs, dst_crs, geom, antimeridian_cutting=False, antimeridian_offset=10.0, precision=-1):
    """
    Transform geometry objects between CRS.
    
    Parameters:
    - src_crs: CRS or CRS-like, source coordinate reference system
    - dst_crs: CRS or CRS-like, destination coordinate reference system
    - geom: dict, GeoJSON-like geometry object
    - antimeridian_cutting: bool, cut geometries at antimeridian
    - antimeridian_offset: float, offset for antimeridian cutting
    - precision: int, coordinate precision (-1 for no rounding)
    
    Returns:
    dict: Transformed GeoJSON-like geometry
    
    Raises:
    - TransformError: If transformation fails
    """

Usage Examples

from fiona.transform import transform, transform_geom
from fiona.crs import CRS

# Transform coordinate arrays
src_crs = CRS.from_epsg(4326)  # WGS84
dst_crs = CRS.from_epsg(32610)  # UTM Zone 10N

# San Francisco coordinates in WGS84
lons = [-122.4194]
lats = [37.7749]

# Transform to UTM
x_utm, y_utm = transform(src_crs, dst_crs, lons, lats)
print(f"UTM coordinates: {x_utm[0]:.2f}, {y_utm[0]:.2f}")

# Transform geometry objects
point_geom = {
    'type': 'Point',
    'coordinates': [-122.4194, 37.7749]
}

transformed_point = transform_geom(src_crs, dst_crs, point_geom)
print(f"Transformed point: {transformed_point}")

# Transform complex geometries
polygon_geom = {
    'type': 'Polygon',
    'coordinates': [[
        [-122.5, 37.7], [-122.4, 37.7], 
        [-122.4, 37.8], [-122.5, 37.8], 
        [-122.5, 37.7]
    ]]
}

transformed_polygon = transform_geom(src_crs, dst_crs, polygon_geom)

Install with Tessl CLI

npx tessl i tessl/pypi-fiona

docs

cli.md

collection-management.md

crs.md

data-model.md

environment.md

file-io.md

index.md

schema.md

transforms.md

utilities.md

tile.json