Skip to content

Instantly share code, notes, and snippets.

View mdiener21's full-sized avatar

Michael Diener mdiener21

View GitHub Profile
@mdiener21
mdiener21 / qgis-expression-coordinate-transform
Last active December 16, 2016 10:18
qgis expression to convert x-coordinate to epsg 3857 from epsg 4326
x-geom
substr(to_string(geom_to_wkt(transform( $geometry ,'EPSG:4326','EPSG:3857'))),7,16)
y-geom
substr(to_string(geom_to_wkt(transform( $geometry ,'EPSG:4326','EPSG:3857'))),25,16)
@mdiener21
mdiener21 / create_translations_from_field_value.py
Last active May 5, 2017 11:07
Generate a Django html file template for translations not in html or javascript but from model field
import psycopg2
conn = psycopg2.connect(host='localhost', user='someuser', port='5432', password='verysecretpwd', database='myDbName')
cur = conn.cursor()
def generate_poi_translation_template(filename):
# query the database table for the list of names you want to translate
sel_building_floor_id = """SELECT f.cat_name FROM (
SELECT DISTINCT ON (cat_name) cat_name, parent_id
@mdiener21
mdiener21 / updateJsonb.sql
Last active January 17, 2017 13:38
update a jsonb postgresql field from columns data
update tableName set columnName = json_build_object('keyfieldname1',fieldname1,'keyfieldname2',fieldname2)
-- keyfieldname1 is any text name you give to the key
-- fieldname1 is an existing column name you have in your table
-- docs https://www.postgresql.org/docs/9.5/static/functions-json.html
@mdiener21
mdiener21 / csv2json.py
Created January 17, 2017 23:41
CSV to json using pandas with option records
import pandas as pd
df = pd.read_csv('..\data\hospitals.csv')
#print(df.to_json(orient='records'))
with open('..\data\hospitals.json', 'w') as outfile:
outfile.write(df.to_json(orient='records'))
@mdiener21
mdiener21 / install-postgres-postgis-gdal.sh
Last active June 24, 2020 16:18
Setup Ubuntu 16.04 for GIS development postgresql 9.6, postgis 2.3, gdal 2.1.2, python 3.5, pgrouting
sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main"
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-9.6
sudo apt-get install postgresql-9.6-postgis-2.3
sudo apt-get install postgresql-9.6-pgrouting
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt-get update
@mdiener21
mdiener21 / install-pgadmin4-py3.sh
Last active December 26, 2017 23:03
install pgadmin4 desktop ubuntu 16
# original post http://askubuntu.com/questions/831262/how-to-install-pgadmin-4-in-desktop-mode-on-ubuntu-16-04
sudo apt-get install python3-venv python3-pip libpq-dev python3-dev
mkdir myVenvs
cd myVenvs
pyvenv pgadmin4-ve
source pgadmin4-v/bin/activate
wget https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.1/pip/pgadmin4-1.1-py3-none-any.whl
@mdiener21
mdiener21 / set-pwd-postgres.sh
Created February 7, 2017 20:18
Set initial password for postgres database ubuntu fresh install
#In a terminal, type:
sudo -u postgres psql postgres
# this connects as a role with same name as the local user, i.e. "postgres", to the database called "postgres" (1st argument to psql).
# Set a password for the "postgres" database role using the command:
\password postgres
@mdiener21
mdiener21 / updateAllPipModules.py
Created February 24, 2017 13:40
Update all pip installed apps to their newest versions in one go using python
import pip
from subprocess import call
for dist in pip.get_installed_distributions():
call("pip install --upgrade " + dist.project_name, shell=True)
@mdiener21
mdiener21 / Run Django as a script
Created April 21, 2017 11:14
Run Django as a script
# add this to top of script with the correct path to your app
import sys, os
sys.path.append('/path/to/your/django/app')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from django.conf import settings
@mdiener21
mdiener21 / package.json
Last active October 28, 2017 07:34
setup openlayers and webpack for development
{
"name": "newprojectname",
"version": "1.0.0",
"description": "test-map",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack --progress -p",
"watch": "webpack --progress --watch",
"server": "webpack-dev-server --open"