Skip to content

Instantly share code, notes, and snippets.

@maphew
maphew / outlook-taskboard-config.json
Created September 22, 2020 23:25
Outlook-taskboard config with To-Do flagged emails enabled and shown in BACKLOG lane
{
"BACKLOG_FOLDER": {
"ACTIVE": true,
"NAME": "",
"TITLE": "BACKLOG",
"SORT": "-priority,duedate,categoryNames,subject",
"RESTRICT": "",
"DISPLAY_PROPERTIES": {
"OWNER": false,
"PERCENT": false,
@maphew
maphew / make-yt-nts-index-html-table.py
Created November 13, 2020 05:29
Yukon NTS Index in various formats
'''Print Yukon NTS tile names as html table with links, arranged in same order as they appear in a map index.
2015-Aug-19, [email protected]
License: X/MIT
'''
nts_txt_ordered = '''117C 117D
117B 117A
116NO 116P
116JK 116I 106L 106K
@maphew
maphew / h3-grid-from-poly-test-01.py
Created February 1, 2021 18:46
Figuring out how to generate an H3 hex grid from a given poly layer, in Qgis python processing environment.
# adapted from https://github.com/ThomasG77/30DayMapChallenge/blob/master/day4_hexagons/data/h3-processing.py
import os
from qgis.utils import iface
from qgis.core import (
QgsCoordinateReferenceSystem,
QgsCoordinateTransform,
QgsFeature, QgsField, QgsFields,
QgsGeometry, QgsPointXY, QgsProject,
QgsProcessingFeedback, QgsMessageLog,
@maphew
maphew / ImageRepo.py
Created June 24, 2021 19:47
Compress to Cloud Geotiff stub in ArcGIS Pro python toolbox (rename to *.pyt to get Pro to recognize it)
# -*- coding: utf-8 -*-
import arcpy
from osgeo import gdal
gdal.UseExceptions()
class Toolbox(object):
def __init__(self):
"""Define the toolbox (the name of the toolbox is the name of the
.pyt file)."""
self.label = "Toolbox"
Driver: DIMAP/SPOT DIMAP
Files: DIM_SPOT6_MS_201308032015087_SEN_1.XML
IMG_SPOT6_MS_201308032015087_SEN_1_R1C1.TIF
IMG_SPOT6_MS_201308032015087_SEN_1_R1C2.TIF
IMG_SPOT6_MS_201308032015087_SEN_1_R1C3.TIF
IMG_SPOT6_MS_201308032015087_SEN_1_R1C4.TIF
IMG_SPOT6_MS_201308032015087_SEN_1_R2C1.TIF
IMG_SPOT6_MS_201308032015087_SEN_1_R2C2.TIF
IMG_SPOT6_MS_201308032015087_SEN_1_R2C3.TIF
IMG_SPOT6_MS_201308032015087_SEN_1_R2C4.TIF
@maphew
maphew / make-home-page.py
Created September 14, 2021 23:35
Generate a blog-style index page written in markdown
"""Generate a blog-style index page written in markdown.
A header line with link to page, followed by a few lines of the story.
"""
import os
from pathlib import Path
import dateutil.parser
from inspect import getsourcefile
here = os.path.dirname(os.path.abspath(getsourcefile(lambda:0)))
@maphew
maphew / setenv-testing-result.txt
Created December 7, 2021 19:10
Detect if bat file is running via double click or from cmd window
T:\ENV.558>if /I "C:\WINDOWS\system32\cmd.exe /c ``T:\ENV.558\setenv-testing.bat` `" EQU "`C:\WINDOWS\system32\cmd.exe` /C ``T:\ENV.558\setenv-testing.bat` `" pause
@maphew
maphew / clean.ps1
Last active January 6, 2022 20:34
Recipe for setting up environment for geospatial processing on Windows [DRAFT]
scoop uninstall scoop
$xlist = "$env:userprofile\scoop", "c:\apps\geo", "$env:userprofile\.condarc", "$env:userprofile\.conda", "$env:userprofile\.config\scoop"
foreach ($x in $xlist) {
if (Test-Path $x) { Remove-Item $x}
}
@maphew
maphew / gdal-copy-rpc.py
Created January 10, 2022 15:56
Copy RPC metdata from IN raster to OUT raster
'''Copy RPC metdata from IN raster to OUT raster
Adapted from @user7821537
https://gis.stackexchange.com/questions/264644/transfer-rpc-metadata-from-one-geotiff-to-another
'''
import os
import sys
from osgeo import gdal
gdal.UseExceptions()
@maphew
maphew / conda-downgrade-report.txt
Created January 25, 2022 18:52
example of `conda install pkg=old.ver.num` downgrading existing packages
#
# a console output snippet that shows conda does downgrade to older version of currently installed package
# https://stackoverflow.com/questions/23974217/how-do-i-revert-to-a-previous-package-in-anaconda
#
$ conda install gdal=3.4.0
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: done
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.