Skip to content

Instantly share code, notes, and snippets.

💭
Working

William Dollins geobabbler

💭
Working
Block or report user

Report or block geobabbler

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@geobabbler
geobabbler / IntersectDemo.cs
Created Jul 18, 2012
Windows form showing the use of GeoIQ4Net to call analysis functions
View IntersectDemo.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using GeoIQ.Net;
using GeoIQ.Net.Data;
@geobabbler
geobabbler / AgsTile.py
Created Oct 4, 2012
Additional function for MapTiler to calculate ArcGIS tile coordinates
View AgsTile.py
def AgsTile(self, tx, ty, zoom):
#Converts TMS tile coordinates to ArcGIS Tile coordinates
xhex = hex(tx)
yhex = hex((2**zoom - 1) - ty)
xhex = xhex.replace("0x", "")
yhex = yhex.replace("0x", "")
xhex = "C" + xhex.zfill(8)
yhex = "R" + yhex.zfill(8)
return xhex, yhex
@geobabbler
geobabbler / point_poly.sql
Created Nov 2, 2012
Simple SQL Server test
View point_poly.sql
DECLARE @pt geometry;
SET @pt = geometry::Point(-82.655, 42.399, 4326)
SELECT COUNT(GID) FROM lake_st_clair WHERE geom.STContains(@pt) = 1;
@geobabbler
geobabbler / spatial_trigger_sqlserver.sql
Created Nov 3, 2012
Example of using a trigger in SQL Server 2008 to test spatial relationship
View spatial_trigger_sqlserver.sql
USE [MyDB]
GO
/****** Object: Trigger [dbo].[Locations_Insert] Script Date: 11/03/2012 08:50:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/* This trigger makes sure that the data being inserted into
the Locations falls within a specific polygon stored in another table.
If it doesn't, the transaction is rolled back.
@geobabbler
geobabbler / ToGeoJSON_sample.cs
Created Dec 11, 2012
Snippet showing use of FGDB API extension methods
View ToGeoJSON_sample.cs
var path = Server.MapPath("/App_Data/mvc_samples.gdb");
Geodatabase gdb = Geodatabase.Open(path);
Table statesTable = gdb.OpenTable("\\us_states");
RowCollection rows = statesTable.Search("*", "STATE_NAME LIKE 'M%'", RowInstance.Recycle);
var rval = rows.ToGeoJson();
gdb.Close();
Response.ContentType = "application/json";
object result = this.Content(rval);
return result as ActionResult;
@geobabbler
geobabbler / extract_wordpress_images.py
Created Dec 13, 2012
Script to read Wordpress export file, fetch images via URL, and write locally.
View extract_wordpress_images.py
import sys
import os
import urllib
from bs4 import BeautifulSoup
#TODO: pass in xml path and output folder as args
xml = open('C:\\Workspace\\blog\\geomusings_export.xml').read()
doc = BeautifulSoup(xml)
#attachments could technically be something other than images
@geobabbler
geobabbler / tile_inventory.py
Created Jan 11, 2013
Quick script to look for missing tiles in a cache.
View tile_inventory.py
## Copyright (c) 2013, William Dollins
## All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions are met:
##
## Redistributions of source code must retain the above copyright notice,
## this list of conditions and the following disclaimer.
##
## Redistributions in binary form must reproduce the above copyright notice,
@geobabbler
geobabbler / tilecalc.py
Created Jan 21, 2013
Script for counting/totaling number of tiles with user-supplied bounds in a Google tiling scheme.
View tilecalc.py
## Copyright (c) 2013, William Dollins
## All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions are met:
##
## Redistributions of source code must retain the above copyright notice,
## this list of conditions and the following disclaimer.
##
## Redistributions in binary form must reproduce the above copyright notice,
@geobabbler
geobabbler / load_ipblocks.py
Created May 6, 2013
Script to load IP blocks from MaxMind GeoLiteCity into a PostgreSQL database.
View load_ipblocks.py
import site
import psycopg2
import csv
conn = psycopg2.connect("dbname=mydb host=myhost user=myuser password=mypass")
cur = conn.cursor()
cr = csv.reader(open("/path/to/my.csv","rb"))
i = 0
for row in cr:
View vlayers.json
{
"vlayers": [{
"vlayer": {
"featureSources": ["feature1.json",
"feature2.json"]
}
},
{
"vlayer": {
"featureSources": ["feature3.json",
You can’t perform that action at this time.