Skip to content

wri/raster2points

Repository files navigation

raster2points

Codacy Badge

Convert one or multiple raster images to points. Tool will read first input raster and extract lat/lon coordinates and values for all pixels which have data. Optional it calculates geodesic area for each point based on pixel size. Successive input rasters will use data mask from first input raster.

Returns a Pandas dataframe, CLI will export results as CSV file.

Input files can be local file paths or S3 paths, or a mix. For reading from S3, you'll need AWS credentials configured, such as with a profile in ~/.aws and an AWS_PROFILE variable in your environment.

Multi-worker only works with S3 inputs, not local files.

Installation and Dependencies

This module uses rasterio and requires GDAL>=1.11. Use pip to install.

pip install raster2points

CLI Usage

raster2csv.py   [-h]
                [--col_names COL_NAMES [COL_NAMES ...]]
                [--separator {,,;,t}]
                [--max_block_size MAX_BLOCK_SIZE]
                [--calc_area [CALC_AREA]]
                [--workers WORKERS]
                INPUT [INPUT ...]
                OUTPUT

Python Usage

You can also use the module directly in python. It will return a Pandas dataframe with your data.

Get Pandas data frame

from raster2points import raster2df

raster1 = "path/to/file1.tif"
raster2 = "path/to/file2.tif"

df = raster2df(raster1, raster2, col_names=["name1", "name2"], calc_area=True)

print(df.columns)
print(df.dtypes)

df.head()

Export to TSV

from raster2points import raster2csv

raster1 = "path/to/file1.tif"
raster2 = "path/to/file2.tif"
output = "path/to/newfile.tsv"

raster2csv(raster1, raster2, output, col_names=["name1", "name2"], separator="\t", calc_area=True)

About

CLI to convert raster data to points (CSV or Pandas Dataframe)

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •