Skip to content

Instantly share code, notes, and snippets.

@maphew
maphew / arcmap-save-copy- as-v10-4.ahk
Last active September 4, 2018 17:24
Key sequence for ArcMap 10.6 to save copy of current map as 10.4
#SingleInstance,Force
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
; key sequence for ArcMap 10.6 to save copy of current map as 10.4
^j:: ; Activate with Ctrl-J
;clipsaved:= ClipboardAll
@maphew
maphew / what-cmd-ext.bat
Created May 24, 2018 15:57
Test what version of Command Extensions are available (Windows)
@echo off
:: Test what version of Command Extensions are available
:: http://ss64.org/viewtopic.php?id=1834
if "~x0"=="%~x0" goto NOCMDEXT
if "%%~x0"=="%~x0" goto NOCMDEXT
if CmdExtVersion 2 goto CMDEXTV2
goto CMDEXTV1
:CMDEXTV1
@maphew
maphew / get_timestamp_from_commit_json.py
Created April 9, 2018 05:54
get_timestamp_from_commit_json(), was part of Leo-Editor setup.py troubleshooting
## was part of Leo-Editor setup.py troubleshooting
try:
import semantic_version
except ImportError:
print('*** Warning: failed to import `semantic_version`')
get_timestamp_from_commit_json()
def get_timestamp_from_commit_json(file):
import json
root = os.path.dirname(os.path.realpath(file))
@maphew
maphew / arcpy_parse_path.py
Created January 17, 2018 21:29
partial helper for reliably deriving workspace path from input Feature Class path
def parse_path(fc_path):
'''Derive workspace from Feature Class's location
Adapted from http://pro.arcgis.com/en/pro-app/tool-reference/modelbuilder-toolbox/parse-path.htm'''
fc = os.path.basename(fc_path)
dir = os.path.dirname(fc_path)
name = os.path.basename(fc_path).rstrip(os.path.splitext(fc_path)[1])
ext = os.path.splitext(fc_path)[1].lstrip(".")
if ext.lower() == 'gdb':
@maphew
maphew / classify-ground-export-aboveground.json
Last active January 11, 2020 22:11
A PDAL pipeline that a) classifies into ground/not-ground, b) adds "Height Above Ground" attribute, and c) exports only above ground points. Adapted from https://lists.osgeo.org/pipermail/pdal/2017-July/001367.html
{
"pipeline": [
"Carmacks_01.laz",
{
"type": "filters.assign",
"assignment": "Classification[:]=0"
},
{
"type": "filters.smrf"
},
# REFERENCES
Bolstad, P.V. and Stowe, T. 1994. An evaluation of DEM accuracy: elevation, slope and aspect.
Photogrammetric Engineering and Remote Sensing 60: 1327-1332.
Garbrecht, J. and Starks, P. 1995. Note on the use of USGS level 1 7.5-minute DEM coverages for landscape drainage analyses.
Photogrammetric Engineering and Remote Sensing 61: 519-522.
Giles, P.T. and Franklin, S.E. 1996. Comparison of derivative topographic surfaces of a DEM generated from stereographic SPOT images with field measurements.
Photogrammetric Engineering and Remote Sensing 62: 1165-1171.
@maphew
maphew / fetch-renderer.py
Last active October 26, 2017 22:33
How to change or assign ArcMap layer symbology type from python?
#Interactive Python window in ArcMap
import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
lyr = arcpy.mapping.ListLayers(mxd, "*", df)[0]
renderer = lyr._arc_object.renderer
>>> renderer
u"<Renderer xsi:type='typens:RasterClassifyRenderer' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
...snip...
@maphew
maphew / asc2json.ps1
Last active October 18, 2017 20:41
Convert Arcinfo Ascii Grid file to JSON
# asc2json
# Convert Arcinfo Ascii Grid file to JSON
# RegEx replace:
# - strip leading whitespace
# - strip line not beginning with a number
# - add opening `[` to beginning of line
# - space to comma
# - end of line to `],`
# - strip empty list `[],`
@echo off
echo.
echo. Manually registering custom ArcGIS COM tools in the current folder...
echo.
setlocal
set PATH=%PATH%;C:\Program Files (x86)\Common Files\ArcGIS\bin;C:\Program Files\Common Files\ArcGIS\bin
for %%a in (*.dll) do ESRIRegAsm.exe "%%~dpna"
endlocal
@maphew
maphew / points-with-names.geojson
Created June 27, 2017 20:46
A few geojson points with a 'Name' attribute to use for labelling
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.