All Projects → makepath → Xarray Spatial

makepath / Xarray Spatial

Licence: mit
Raster-based Spatial Analysis for Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Xarray Spatial

Glmmfields
R package for Bayesian spatial and spatiotemporal GLMMs with possible extremes
Stars: ✭ 31 (-86.7%)
Mutual labels:  spatial-analysis
Freud
Powerful, efficient particle trajectory analysis in scientific Python.
Stars: ✭ 118 (-49.36%)
Mutual labels:  spatial-analysis
Raster Functions
A curated set of lightweight but powerful tools for on-the-fly image processing and raster analysis in ArcGIS.
Stars: ✭ 162 (-30.47%)
Mutual labels:  spatial-analysis
Urbansprawl
Open framework for calculating spatial urban sprawl indices and performing disaggregated population estimates using open data
Stars: ✭ 48 (-79.4%)
Mutual labels:  spatial-analysis
Gpstuff
GPstuff - Gaussian process models for Bayesian analysis
Stars: ✭ 106 (-54.51%)
Mutual labels:  spatial-analysis
Spatstat
Development version of 'spatstat' package ..............................
Stars: ✭ 128 (-45.06%)
Mutual labels:  spatial-analysis
Incubator Sedona
A cluster computing framework for processing large-scale geospatial data
Stars: ✭ 860 (+269.1%)
Mutual labels:  spatial-analysis
Awesome Gis
😎Awesome GIS is a collection of geospatial related sources, including cartographic tools, geoanalysis tools, developer tools, data, conference & communities, news, massive open online course, some amazing map sites, and more.
Stars: ✭ 2,582 (+1008.15%)
Mutual labels:  spatial-analysis
Peartree
peartree: A library for converting transit data into a directed graph for sketch network analysis.
Stars: ✭ 116 (-50.21%)
Mutual labels:  spatial-analysis
Sfnetworks
Tidy Geospatial Networks in R
Stars: ✭ 155 (-33.48%)
Mutual labels:  spatial-analysis
Ppd599
USC urban data science course series with Python and Jupyter
Stars: ✭ 1,062 (+355.79%)
Mutual labels:  spatial-analysis
Dggridr
Discrete Global Grids for R: Spatial Analysis Done Right
Stars: ✭ 101 (-56.65%)
Mutual labels:  spatial-analysis
Book
This book serves as an introduction to a whole new way of thinking systematically about geographic data, using geographical analysis and computation to unlock new insights hidden within data.
Stars: ✭ 141 (-39.48%)
Mutual labels:  spatial-analysis
Landsat8 scene calculator
Creates NDVI, SAVI, RBG, NIR, short wave infrared, agriculture, geology, and bathymetric GeoTIFF files using Landsat8 imagery.
Stars: ✭ 37 (-84.12%)
Mutual labels:  spatial-analysis
Atlas
OSM in memory
Stars: ✭ 172 (-26.18%)
Mutual labels:  spatial-analysis
Crime Analysis
Association Rule Mining from Spatial Data for Crime Analysis
Stars: ✭ 20 (-91.42%)
Mutual labels:  spatial-analysis
Depthmapx
depthmapX is a multi-platform Spatial Network Analysis Software
Stars: ✭ 120 (-48.5%)
Mutual labels:  spatial-analysis
Developer Support
Proof of concept developer code and samples to help be successful with all ArcGIS developer products (Python, NET, JavaScript, Android…). The repository is designed to be an exchange for sharing coding conventions and wisdom to developers at all skill levels.
Stars: ✭ 235 (+0.86%)
Mutual labels:  spatial-analysis
Googleway
R Package for accessing and plotting Google Maps
Stars: ✭ 187 (-19.74%)
Mutual labels:  spatial-analysis
Awesome Geospatial
Long list of geospatial tools and resources
Stars: ✭ 2,386 (+924.03%)
Mutual labels:  spatial-analysis

🌍 xarray-spatial: Raster-Based Spatial Analysis in Python

Build Status Build status PyPI version Downloads License


History of OS GIS Timeline


title

📍 Fast, Accurate Python library for Raster Operations

⚡️ Extensible with Numba

⏩ Scalable with Dask

🎊 Free of GDAL / GEOS Dependencies

🌍 General-Purpose Spatial Processing, Geared Towards GIS Professionals


Xarray-Spatial implements common raster analysis functions using Numba and provides an easy-to-install, easy-to-extend codebase for raster analysis.

Installation

# via pip
pip install xarray-spatial

# via conda
conda install -c conda-forge xarray-spatial

xarray-spatial grew out of the Datashader project, which provides fast rasterization of vector data (points, lines, polygons, meshes, and rasters) for use with xarray-spatial.

xarray-spatial does not depend on GDAL / GEOS, which makes it fully extensible in Python but does limit the breadth of operations that can be covered. xarray-spatial is meant to include the core raster-analysis functions needed for GIS developers / analysts, implemented independently of the non-Python geo stack.

Our documentation is still under constructions, but docs can be found here.

Raster-huh?

Rasters are regularly gridded datasets like GeoTIFFs, JPGs, and PNGs.

In the GIS world, rasters are used for representing continuous phenomena (e.g. elevation, rainfall, distance), either directly as numerical values, or as RGB images created for humans to view. Rasters typically have two spatial dimensions, but may have any number of other dimensions (time, type of measurement, etc.)

Supported Spatial Functions with Supported Inputs


Classification

Name NumPy xr.DataArray Dask xr.DataArray CuPy GPU xr.DataArray Dask GPU xr.DataArray
Equal Interval ✅️
Natural Breaks ✅️
Reclassify ✅️
Quantile ✅️

Focal

Name NumPy xr.DataArray Dask xr.DataArray CuPy GPU xr.DataArray Dask GPU xr.DataArray
Apply ✅️
Hotspots ✅️
Mean ✅️
Focal Statistics ✅️ ✅️

Multispectral

Name NumPy xr.DataArray Dask xr.DataArray CuPy GPU xr.DataArray Dask GPU xr.DataArray
Atmospherically Resistant Vegetation Index (ARVI) ✅️ ✅️
Enhanced Built-Up and Bareness Index (EBBI) ✅️ ✅️
Enhanced Vegetation Index (EVI) ✅️ ✅️
Green Chlorophyll Index (GCI) ✅️ ✅️
Normalized Burn Ratio (NBR) ✅️ ✅️
Normalized Burn Ratio 2 (NBR2) ✅️ ✅️
Normalized Difference Moisture Index (NDMI) ✅️ ✅️
Normalized Difference Vegetation Index (NDVI) ✅️ ✅️
Soil Adjusted Vegetation Index (SAVI) ✅️ ✅️
Structure Insensitive Pigment Index (SIPI) ✅️ ✅️

Pathfinding

Name NumPy xr.DataArray Dask xr.DataArray CuPy GPU xr.DataArray Dask GPU xr.DataArray
A* Pathfinding ✅️

Proximity

Name NumPy xr.DataArray Dask xr.DataArray CuPy GPU xr.DataArray Dask GPU xr.DataArray
Allocation ✅️
Direction ✅️
Proximity ✅️

Surface

Name NumPy xr.DataArray Dask xr.DataArray CuPy GPU xr.DataArray Dask GPU xr.DataArray
Aspect ✅️ ✅️ ✅️ ⚠️
Curvature ✅️ ⚠️
Hillshade ✅️ ✅️
Slope ✅️ ✅️ ✅️ ⚠️
Terrain Generation ✅️
Viewshed ✅️
Perlin Noise ✅️
Bump Mapping ✅️

Zonal

Name NumPy xr.DataArray Dask xr.DataArray CuPy GPU xr.DataArray Dask GPU xr.DataArray
Apply ✅️
Crop ✅️
Regions ✅️
Trim ✅️
Zonal Statistics ✅️
Zonal Cross Tabulate ✅️

Usage

Basic Pattern
import xarray as xr
from xrspatial import hillshade

my_dataarray = xr.DataArray(...)
hillshaded_dataarray = hillshade(my_dataarray)

Check out the user guide here.


Check out Xarray-Spatial on YouTube

title title

Dependencies

xarray-spatial currently depends on Datashader, but will soon be updated to depend only on xarray and numba, while still being able to make use of Datashader output when available.

title

Notes on GDAL

Within the Python ecosystem, many geospatial libraries interface with the GDAL C++ library for raster and vector input, output, and analysis (e.g. rasterio, rasterstats, geopandas). GDAL is robust, performant, and has decades of great work behind it. For years, off-loading expensive computations to the C/C++ level in this way has been a key performance strategy for Python libraries (obviously...Python itself is implemented in C!).

However, wrapping GDAL has a few drawbacks for Python developers and data scientists:

  • GDAL can be a pain to build / install.
  • GDAL is hard for Python developers/analysts to extend, because it requires understanding multiple languages.
  • GDAL's data structures are defined at the C/C++ level, which constrains how they can be accessed from Python.

With the introduction of projects like Numba, Python gained new ways to provide high-performance code directly in Python, without depending on or being constrained by separate C/C++ extensions. xarray-spatial implements algorithms using Numba and Dask, making all of its source code available as pure Python without any "black box" barriers that obscure what is going on and prevent full optimization. Projects can make use of the functionality provided by xarray-spatial where available, while still using GDAL where required for other tasks.

Contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].