Skip to content

Instantly share code, notes, and snippets.

Avatar

Andrew Harvey andrewharvey

View GitHub Profile
@andrewharvey
andrewharvey / feed.sh
Created Jul 21, 2020
ArcGIS Rest Services Listing as FeedJSON
View feed.sh
#!/bin/sh
wget -O - 'http://data.actmapi.act.gov.au/arcgis/rest/services/actmapi/?f=pjson' | jq '{"version": "https://jsonfeed.org/version/1", "title": "data.actmapi services", "home_page_url": "http://data.actmapi.act.gov.au/arcgis/rest/services/actmapi/?f=pjson", "items": [.services[].name | {"id": ., "content_text": .}]}' > feed.json
@andrewharvey
andrewharvey / LG360.StartInterval.sh
Created Jun 27, 2020
Termux Shortcuts to start/stop LG360 Mapillary Interval Capture. Place contents in termux home .shortcuts directory. You can then add a shortcut to these scripts to the homescreen as a widget.
View LG360.StartInterval.sh
!/bin/sh
setoptions=`curl \ -X POST \ --header 'Content-Type: application/json' \ --data '{ "name": "camera.setOptions", "parameters": { "options": { "captureMode": "interval", "captureInterval": 2 } }}' \ http://192.168.43.1:6624/osc/commands/execute | jq '.state'`
startcapture=`curl \ -X POST \ --header 'Content-Type: application/json' \ --data '{"name": "camera.startCapture"}' \ http://192.168.43.1:6624/osc/commands/execute | jq '.state'`
termux-toast -g bottom "$setoptions - $startcapture"
@andrewharvey
andrewharvey / maxzoom.sh
Created May 2, 2020
Shell script to get the native zoom of a raster
View maxzoom.sh
#!/bin/bash
WIDTH=`gdalinfo -json $FILE | jq .size[0]`
MINX=`gdalinfo -json $FILE | jq .wgs84Extent.coordinates[0][0][0]`
MAXX=`gdalinfo -json $FILE | jq .wgs84Extent.coordinates[0][2][0]`
MAXZOOM=`echo "l( ( 360 * $WIDTH ) / ( 256 * ( $MAXX - $MINX ) ) ) / l(2)" | bc -l | perl -nl -MPOSIX -e 'print ceil($_);'`
# 2^n tiles at zoom n
# therefore 2^n * 256 pixels of width for the world at zoom n
# therefore 360 / (2^n * 256) degrees per pixel at zoom n
@andrewharvey
andrewharvey / index.md
Last active Apr 17, 2020
Comparison of point and box spatial index libraries for JavaScript
View index.md
Library Static / Dynamic Cartesian / Geographic kNN Index containing points Index containing boxes Within radius
rbush dynamic 🗺️ cartesian ✔️ ✔️
rbush-knn dynamic 🗺️ cartesian ✔️ ✔️ ✔️ ✔️
kdbush static 🗺️ cartesian ✔️ ✔️
geokdbush static 🌏 geo ✔️ ✔️ ✔️
flatbush static 🗺️ cartesian ✔️ ✔️ ✔️ ✔️
geoflatbush static 🌏 geo ✔️ :heavy_che
@andrewharvey
andrewharvey / index.geojson
Created Feb 9, 2020
ARA Bushfire Imagery KI/KH Coverage Footprint
View index.geojson
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@andrewharvey
andrewharvey / README.md
Last active Feb 9, 2020
Airborne Research Australia Bushfire 2020 Imagery processing for OpenStreetMap
View README.md
@andrewharvey
andrewharvey / README.md
Last active Jan 18, 2020
Maxar 2020 Australian Bushfire Imagery
View README.md
@andrewharvey
andrewharvey / README.md
Created Jan 7, 2020
Compare a road network to OpenStreetMap
View README.md
wget http://download.openstreetmap.fr/extracts/oceania/australia/new_south_wales.osm.pbf
osmium tags-filter new_south_wales.osm.pbf w/highway -o nsw-roads.osm.pbf
osmium export -o nsw-roads.geojson nsw-roads.osm.pbf
ogr2ogr -f GPKG nsw-roads.gpkg nsw-roads.geojson
ogr2ogr -dialect OGRSQL -sql "SELECT geom FROM \"nsw-roads\" WHERE OGR_GEOMETRY='LineString'" nsw-roads.shp nsw-roads.gpkg

# in QGIS
# Vector > Geoprocessing Tools > Buffer
# buffer distance 0.0005
@andrewharvey
andrewharvey / index.html
Created Nov 12, 2019
Mapbox GL JS Workshop Custom Layer
View index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v1.5.0/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v1.5.0/mapbox-gl.css' rel='stylesheet' />
<script src='https://unpkg.com/three@0.106.2/build/three.min.js'></script>
<script src="https://unpkg.com/three@0.106.2/examples/js/loaders/GLTFLoader.js"></script>
@andrewharvey
andrewharvey / index.html
Created Nov 12, 2019
Mapbox GL JS Workshop
View index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v1.5.0/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v1.5.0/mapbox-gl.css' rel='stylesheet' />
<style>
body {
You can’t perform that action at this time.