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 / PostgisDialectExtensions.java
Last active Feb 12, 2016
Simple extension to PostGIS dialect for Hibernate
View PostgisDialectExtensions.java
package com.geomusings.dialect;
//import org.hibernate.dialect.PostgreSQLDialect;
import org.hibernate.dialect.function.StandardSQLFunction;
import org.hibernate.type.CustomType;
import org.hibernate.type.StandardBasicTypes;
import org.hibernate.type.Type;
import org.hibernate.spatial.dialect.postgis.PostgisDialect;
import org.hibernate.usertype.UserType;
import org.hibernate.spatial.SpatialAggregate;
@geobabbler
geobabbler / d3_squares_example.js
Last active May 25, 2016
D3 squares example for blog post
View d3_squares_example.js
d3.json(
"data/statistics.geojson",
function (json) {
//dimensions
var w = 980;
var h = 480;
//get the center of the data
var center = d3.geo.centroid(json);
var svg = d3.select("body").append("svg")
.attr("width", w)
@geobabbler
geobabbler / ogr_example.bat
Created May 8, 2015
OGR export example for blog post
View ogr_example.bat
ogr2ogr -f "GeoJSON" statistics_%2_%1.geojson PG:"host=localhost user=wombat dbname=geo2 password=sufficiently_complex_password" -sql "SELECT * FROM vw_geojson_statistics_ytd WHERE year = 2015"
@geobabbler
geobabbler / simple_join.sql
Created May 8, 2015
Simple join example for blog post
View simple_join.sql
SELECT
us_states_squares.shape,
us_states_squares.abbr,
us_states_squares.name,
vw_statistics_ytd.ytd
FROM
public.us_states_squares
INNER JOIN public.vw_statistics_ytd ON
us_states_squares.abbr = vw_statistics_ytd.state_abbr
WHERE
@geobabbler
geobabbler / metadata_writer.js
Created Mar 25, 2015
Generates metadata document containing elements required by data.gov
View metadata_writer.js
var fs = require('fs');
function writeMetadata(Origin, Pubdate, Title, Abstract, Westbc, Eastbc, Northbc, Southbc, Addrtype, State){
var XMLWriter = require('xml-writer');
xw = new XMLWriter(true);
xw.startDocument();
var root = xw.startElement('metadata');
root.writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
root.writeAttribute('xsi:noNamespaceSchemaLocation','http://www.fgdc.gov/metadata/fgdc-std-001-1998.xsd');
var idinfo = root.startElement('idinfo');
@geobabbler
geobabbler / node_geoserver_addfeature.js
Last active Aug 29, 2015
Posting a new PostGIS feature type to GeoServer using the REST config API
View node_geoserver_addfeature.js
//callback should be like function(err){//do stuff}
function registervector(datasetName, callback){
//dataset name is the name of the PostGIS table
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; //my dev SSL is self-signed. don't do this in production.
var https = require('https'); //using SSL because of basic auth in this example
var auth = 'Basic ' + new Buffer('username' + ':' + 'p@s$w0rd').toString('base64'); //strong passwords please
//build the object to post
var post_data = {'featureType': {'name': datasetName}};
//be sure to turn it into a string
var s = JSON.stringify(post_data);
View anno_snippet3.cs
void win_Closed(object sender, EventArgs e)
{
TextSymbolPropsWindow win = sender as TextSymbolPropsWindow;
if ((bool)win.DialogResult)
{
GraphicsLayer graphicsLayer = BoundMap.Layers["AnnoLayer"] as GraphicsLayer; //the layer on which the anno will be drawn
string input = win.Annotation;
if (!String.IsNullOrEmpty(input))
{
@geobabbler
geobabbler / anno_snippet2.cs
Created Jan 16, 2015
Second code snippet for annotation post
View anno_snippet2.cs
private void DrawCompleteHandler(object sender, DrawEventArgs args)
{
_currentPoint = args.Geometry as MapPoint; //capture the point that where the mouse was clicked
TextSymbolPropsWindow win = new TextSymbolPropsWindow(); //My child window. This can be any you define.
win.EditMode = false; //this tells the window that this is a new annotation
win.Closed += new EventHandler(win_Closed); //subscribe to the window's Closed event
win.Show();
}
@geobabbler
geobabbler / anno_snippet1.cs
Created Jan 16, 2015
First code snippet for annotation post
View anno_snippet1.cs
if (_draw == null)
{
_draw = new Draw(BoundMap); //private class-level variable of type ESRI.ArcGIS.Client.Draw
_draw.DrawComplete += DrawCompleteHandler; //subscribe to the DrawComplete event
_activated = true;
_draw.IsEnabled = true; //enable the Draw object
}
_draw.DrawMode = DrawMode.Point; //set it to Point mode
@geobabbler
geobabbler / stack2csv.py
Created Nov 26, 2014
Import JSON from StackExchange tags API to CSV
View stack2csv.py
import requests
from pprint import pprint
r = requests.get('https://api.stackexchange.com/2.2/tags?page=1&pagesize=100&order=desc&sort=popular&site=gis')
data = r.json()
print "tag,count"
for tag in data["items"]:
print tag["name"] + "," + str(tag["count"])
You can’t perform that action at this time.