Skip to main content

Toolkit to generate Global Area Reference System grids.

Project description

All Contributors https://img.shields.io/badge/License-BSD%203--Clause-yellow.svg https://img.shields.io/pypi/v/gars_field.svg https://pepy.tech/badge/gars_field https://img.shields.io/conda/vn/conda-forge/gars_field.svg https://github.com/corteva/gars-field/workflows/Tests/badge.svg https://codecov.io/gh/corteva/gars-field/branch/main/graph/badge.svg https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white https://img.shields.io/badge/code%20style-black-000000.svg

Bugs/Questions

Usage

Note

See the module docstrings for more details.

GARSField: determine GARS grids based on bounding box

import geopandas
import shapely.geometry
from gars_field import GARSField


geom_bounds = shapely.geometry.box(minx=-175, miny=-76, maxx=-174, maxy=-75)
garsf = GARSField(geom_bounds)
# 6 deg grids (extension)
grids_6deg = garsf.gars_6deg
# 3 deg grids (extension)
grids_3deg = garsf.gars_3deg
# 1 deg grids (extension)
grids_1deg = garsf.gars_1deg
# 30 min grids
grids_30min = garsf.gars_30min
# 15 min grids
grids_15min = garsf.gars_15min
# 5 min grids
grids_5min = garsf.gars_5min
# 1 min grids (extension)
grids_1min = garsf.gars_1min

# convert to geopandas
geopandas.GeoDataFrame(
    {"gars_id": [str(grid) for grid in field.gars_1min]},
    geometry=[grid.polygon for grid in field.gars_1min],
    crs="EPSG:4326",
)

GARSGrid

Grid cell sizes: 1, 5, 15, 30 minutes

from gars_field import GARSGrid

# from latlon
ggrid = GARSGrid.from_latlon(-89.55, -179.57, resolution=5)

# from GARS ID
ggrid = GARSGrid("001AA23")

# get bounding poly
grid_poly = ggrid.polygon

# get GARS ID
gars_id = str(ggrid)

# UTM CRS EPSG Code
epsg_code = ggrid.utm_epsg

EDGARSGrid

This is the extended degree grid system.

Grid cell sizes: 1, 3, 6 degrees

from gars_field import EDGARSGrid

# from latlon
ggrid = EDGARSGrid.from_latlon(-89.55, -179.57, resolution=3)

# from GARS ID
ggrid = EDGARSGrid("D01AA23")

# get bounding poly
grid_poly = ggrid.polygon

# get GARS ID
gars_id = str(ggrid)

# UTM CRS EPSG Code
epsg_code = ggrid.utm_epsg

GEDGARSGrid

This is the giant extended degree grid system

Grid cell sizes: 30, 60 degrees

from gars_field import GEDGARSGrid

# from latlon
ggrid = GEDGARSGrid.from_latlon(-89.55, -179.57, resolution=3)

# from GARS ID
ggrid = GEDGARSGrid("GD1A")

# get bounding poly
grid_poly = ggrid.polygon

# get GARS ID
gars_id = str(ggrid)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gars_field-0.3.0.tar.gz (22.3 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page