Skip to content

Instantly share code, notes, and snippets.

@scw
scw / true-distance-to-shore.py
Created May 30, 2012 20:03
Example using OGR and Shapely to compute true distances between geometries and points.
#!/usr/bin/env python
# distance_from_shore.py: compute true distance between points
# and closest geometry.
# shaun walbridge, 2012.05.15
# TODO: no indexing used currently, could stand if performance needs
# improving (currently runs in ~1.5hr for 13k points)
from geopy import distance
@scw
scw / test-behr.R
Created April 24, 2012 23:55
Behrmann projection test for R
library(rgdal)
behrmann.crs <- CRS('+proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +datum=WGS84 +ellps=WGS84 +units=m +no_defs')
# define a known point in Behrmann projection
point <- SpatialPoints(cbind(0, 7284713.234), behrmann.crs)
# try reprojecting point back to WGS84
spTransform(point, CRS('+init=epsg:4326'))
@scw
scw / navigator fix
Last active September 20, 2019 17:01
Patch Anaconda Navigator to use conda executable instead of root python wrapper to conda
# NOTE: activate the environment containing Pro + Anaconda Navigator, and copy the
# navigator-pro.patch to your working directory.
conda install -y m2-patch
patch --binary %CONDA_PREFIX%\Lib\site-packages\anaconda_navigator\api\conda_api.py navigator-pro.patch
@scw
scw / gist:e998a30ec8010467dbd94318ae42f2db
Created August 9, 2017 20:51
ArcGIS Pro 2.0 Python package list
colorama 0.3.7 py35_0 defaults
cycler 0.10.0 py35_0 defaults
future 0.15.2 py35_0 defaults
matplotlib 1.5.3 np111py35_0e [arcgispro] esri
mpmath 0.19 py35_1 defaults
netcdf4 1.2.4 py35_0e [arcgispro] esri
nose 1.3.7 py35_1 defaults
numexpr 2.6.1 np111py35_0e [arcgispro] esri
numpy 1.11.2 py35_0e [arcgispro] esri
pandas 0.19.0 np111py35_0 defaults
--- conda_api.py.orig 2018-05-11 12:10:17.419642200 -0400
+++ conda_api.py 2018-05-11 12:14:31.058928700 -0400
@@ -406,12 +406,12 @@
"""
if abspath:
if sys.platform == 'win32':
- python = join(self.ROOT_PREFIX, 'python.exe')
- conda = join(self.ROOT_PREFIX, 'Scripts', 'conda-script.py')
+ python = join(self.CONDA_PREFIX, 'python.exe')
+ conda = join(self.ROOT_PREFIX, 'Scripts', 'conda.exe')
x = [5, 10, 15, 20, 30, 40, 50, 60, 100, 140]
def range_finder(seq):
it = iter(seq)
prev = next(it)
prev_diff = seq[1] - seq[0]
r = 0
for (i, item) in enumerate(it):
diff = item - prev
if diff != prev_diff:
@scw
scw / generate_prj_files.py
Last active March 12, 2018 04:28
Generate projection files (.prj) from ArcGIS defaults.
import arcpy
import os
def create_path(path):
if not os.path.exists(path):
print "Creating directory {}".format(path)
os.makedirs(path)
# default application data dir; e.g. c:\Users\scw\AppData\Roaming
@scw
scw / proenv.bat
Created August 8, 2017 19:04
Use call instead of invoking separate cmd.exe
@setlocal enabledelayedexpansion
@echo off
@CALL :normalizepath scripts_path "%~dp0"
@set env_text="%scripts_path%proenv.txt"
:: read the activte environment name
@set /p CONDA_NEW_ENV=<%env_text%
@set CONDA_SKIPCHECK=1
@set "CONDA_PREFIX=%CONDA_NEW_ENV%"
@scw
scw / example-toolbox.py
Created June 11, 2013 00:31
Example showing how to create categories within a Python toolbox.
import arcpy
class Toolbox(object):
def __init__(self):
self.label = u'Example_Toolbox'
self.alias = ''
self.tools = [FirstTool, SecondTool, ThirdTool]
class FirstTool(object):
@scw
scw / __geo_interface__.rst
Last active March 21, 2017 15:01 — forked from sgillies/geo_interface.rst
A Python Protocol for Geospatial Data

Author: Sean Gillies Version: 1.0

Abstract

This document describes a GeoJSON-like protocol for geo-spatial (GIS) vector data.

Introduction