Skip to content

Instantly share code, notes, and snippets.

View richpsharp's full-sized avatar

Richard Sharp richpsharp

View GitHub Profile
@richpsharp
richpsharp / axis_map_test.py
Created February 25, 2020 17:31
example of axis mapping strategy effects on GDAL 3.0
from osgeo import osr
wgs84 = osr.SpatialReference()
wgs84.ImportFromEPSG(4326)
utm10 = osr.SpatialReference()
utm10.ImportFromEPSG(26910)
# Play with these settings, you'll find the utm10 strategey makes no difference bu
# the wgs84 one needs traditional order
wgs84.SetAxisMappingStrategy(osr.OAMS_TRADITIONAL_GIS_ORDER)
@richpsharp
richpsharp / planet_bb_query_demo.py
Created March 3, 2020 21:53
Planet Bounding Box quad query demo for Sam
import argparse
import requests
def demo(mosaic_id, planet_api_key):
"""Demo of searching multiple bounding boxes.
Parameters:
mosaic_id (str): planet mosaic id.
planet_api_key (str): Planet API key.
@richpsharp
richpsharp / pygeoprocessing_build_log.txt
Created March 13, 2020 19:09
Build log from broken pgp build
root@6de621f3074a:/usr/local/pygeoprocessing# python setup.py install
running install
running bdist_egg
running egg_info
creating pygeoprocessing.egg-info
writing pygeoprocessing.egg-info/PKG-INFO
writing dependency_links to pygeoprocessing.egg-info/dependency_links.txt
writing requirements to pygeoprocessing.egg-info/requires.txt
writing top-level names to pygeoprocessing.egg-info/top_level.txt
writing manifest file 'pygeoprocessing.egg-info/SOURCES.txt'
@richpsharp
richpsharp / run_sdr.py
Created April 6, 2020 06:03
Example file of how to run SDR with the c-factor extension in a script
"""Example of how to use experimental SDR c-factor."""
import sys
import logging
import natcap.invest.sdr.sdr
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
args = {
'biophysical_table_path': './data/biophysical_SDR.csv',
@richpsharp
richpsharp / Dockerfile
Last active April 15, 2020 19:03
Docker build for Python 3.8 GDAL 3.0.4, w/ ZSTD extensions, and PyGeoprocessing 2.0 release
FROM python:3.8-slim-buster as builder
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
cmake build-essential wget ca-certificates unzip pkg-config \
zlib1g-dev libfreexl-dev libxml2-dev
# making directory to avoid this JDK installation bug: https://github.com/geerlingguy/ansible-role-java/issues/64
RUN mkdir /usr/share/man/man1
RUN apt-get install -y openjdk-11-jdk-headless
@richpsharp
richpsharp / local_pystac.py
Created April 19, 2020 04:33
build a local STAC to upload later
"""Generate a STAC catalog."""
import os
import subprocess
import datetime
import pystac
output = subprocess.check_output(
'gsutil ls gs://my-bucket-with-geotiffs', shell=True)
@richpsharp
richpsharp / mult_by_columns.py
Last active May 29, 2020 00:39
Script to evalulate Justin lasso stats values
"""Demo of how to use pandas to multiply one table by another."""
import argparse
import os
from osgeo import gdal
from osgeo import ogr
from osgeo import osr
import pandas
parser = argparse.ArgumentParser(description='mult by columns script')
@richpsharp
richpsharp / points_contained_in_poly.py
Created May 13, 2020 04:41
Example script for testing points contained in a set of polygons
"""Example of determing if points are contained in polygon."""
from osgeo import gdal
import shapely.geometry
point_vector_path = 'dams.shp'
polygon_vector_path = 'watersheds_hotels_resorts_DdS.shp'
polygon_id_field = 'Name'
point_id_field = 'desc_short'
@richpsharp
richpsharp / may_2020_run_biodiv_and_carbon_multiprocessing.py
Last active May 20, 2020 17:03
traditional multiprocessing approach
import multiprocessing
import os
import sys
import json
import glob
import logging
#import taskgraph
import pandas as pd
from wbnci import biodiversity, carbon
@richpsharp
richpsharp / pygeoprocessing_optimization_demo.py
Last active August 18, 2020 23:43
How to use raster optimization in pygeoprocessing
"""Demo of optimization."""
import logging
import os
import sys
import pygeoprocessing
logging.basicConfig(
level=logging.DEBUG,
format=(