Elijah Robison   |  elrobis [ a t ] h o t m a i l   |  Résumé (PDF)   |  LinkedIn   |  O'Reilly Media   |  GIS.SE   |  @elrobis
Learning Flex 4 on Amazon..
(O'Reilly Media, November 2010)

GIS Blog: Cartometric.com/blog

Tuesday March 17, 2015:
Socket-served Internet mapping, anyone?
I may or may not be on to something. For awhile I’ve been growing more and more tired of the typical Internet mapping user experience. It’s basically this: open a map and zoom/pan somewhere, wait a moment while (hopefully) some “working” graphic gives you a clue that the map hasn’t forgot about you; meanwhile, some basemap tiles load, then after a moment or two, “poof!” all the interactive data (i.e. the sole reason you are using that particular map) appears all at once. Fortunately, in most cases, the basemap tiles “sprinkle in” one by one as they become available, which does give the user an impression that something is happening. But more often than not, basemap tiles [...]

Saturday March 07, 2015:
Q: What’s The best way to convert CDs to MP3s in Windows? A: VLC and the Command Line. Here I’ll show ya..
Today my friend (shout out to Nic Zamora) wanted to know if I still had a recording we made of a song he co-wrote way back in ancient history ..like 2007 or something. Gah.. Well it got me to thinking—my other buddy (shout out to Corey Nolan) had a similar request awhile back for a recording we did with his brother, Dustin, around the same time. The problem was, the only recording I had of the latter was on CD. Since then, that one simple deterrent—being on CD—was solely responsible for preventing me from ever “getting around to it”, like I said I would. The reason I hate ripping CDs is because it’s such a ridiculous process ..first you have to open some asinine software (and God help you if it’s Windows Media Player), click around like a fool, be confused, drag files and/or locate folders, agonize over a variety of settings, many of which you, A) may not know anything about, 2) remember from the last time you did this resulting in inconsistently ripped music, and D) ..worst of all, potentially but unintentionally introduce some weak-sauce copy protection. [...]

Thursday January 22, 2015:
Gabriel Weinberg’s PostgreSQL Tips and Tricks
Here’s a solid article on tuning your PostgreSQL instance and optimizing your indexes. Also, here’s a nice primer on creating and managing indexes in PostgreSQL. I wanted to share ‘em now and save ‘em for later. /E

Tuesday November 25, 2014:
ArcPy CalculateField_management Complex Python Expression to Return a String
My coworker was having some trouble implementing a CalculateField expression in Python so I wanted to document the solution for anyone with a similar issue. (Note: If you  just want the answer, see the What ultimately worked.. heading, below.) Being unfamiliar with ArcPy, I was intrigued by this idea of defining a function as a string value, then passing that string as a variable into another function. I can see how that opens a powerful door—but it also strikes me as ultra weird, and because Python has some very particular spacing/indentation rules (as compared to say, JavaScript), I figured this technique would be ultra-prone to syntax issues ..and thus could be especially difficult to troubleshoot. So in this case, I also wanted to demonstrate how I ultimately thought through the problem. [...]

Friday September 26, 2014:
Create UTFGrid Tiles from PostGIS Tables
I assume you’re where I was about a week ago. That is, you’ve heard of UTFGrid, and now you want to render your own UTFGrid tiles. Perhaps you found yourself looking at this thread over at GIS.SE, but you don’t want to jump into TileStache just now. Anyway if you’ve got a working installation of GDAL/OGR and Mapnik 2+, complete with Python bindings, I’ll show you what worked for me.. Because this is merely an adaptation of Matthew Perry’s original solution, I highly recommend considering his original blog entry on the topic, complete with discussion points and caveats, before proceeding further! [...]

Wednesday September 24, 2014:
OGR VRT: Connect to PostGIS DataSource
I needed an OGR VRT for something and didn’t find a clear example on the web all in one place, so here goes. Somewhere on your system, create a new file with a .ovf extension. Inside that file, add some XML like the following to define your PostgreSQL connection:
That name=”WKTGrid” is semantically unrelated here. I have been experimenting with including WKT geometry data in UtfGrid tiles, and that name is relative to my experiments. You can provide most any value for name. However, do note that the layer name is referenced in the ogrinfo command.


parcels_cama_20140829_pmerc
SELECT tms, owner_name, the_wkt FROM parcels_cama_20140829_pmerc

[...]

Monday September 22, 2014:
MySQL Implementation of Google’s Encoded Polyline Algorithm
I just noticed someone created a MySQL implementation of Google’s Encoded Polyline Algorithm incorporating some elements of my PostgreSQL/PostGIS approach, specifically, support for multi-part, multi-ring polygon geometries. And this is exciting, at the bottom of his post, Fabien says he’s working on a solution for consuming the Google encoded geometries in Leaflet. Nice! I love open source software! I thought I’d mention the MySQL approach here to help expose Fabien’s solution to English searches and drive a little more traffic to his site. If you can’t read French, Google Translate is your friend! [...]

Friday June 06, 2014:
Convert Google Maps Polygon (API V3) to Well Known Text (WKT) Geometry Expression
There’s dozens of reasons why you might want the Well Known Text (WKT) geometry expression for a Google Maps Polygon object. Assuming you’re using the Google Maps API V3, and you’ve got a variable referencing your Polygon, I’ll suggest two approaches you can take to iterate over the paths and vertices in your Google Maps polygon and return the geometry expression as a Well Known Text string. Add a Simple Utility Method to Your Project Easy enough. Just add the following method to your project. Look below the method for an example of how you’d call it. function GMapPolygonToWKT(poly) { [...]

Monday January 27, 2014:
PostGREsql/PostGIS Implementation of Google’s Encoded Polyline Algorithm
[Edit 30 Jan, 2014] I added an additional PostGREsql method to perform Polygon encoding by concatenating polygon geometries (delimiter: †) and their inner rings (delimiter: ‡) together into one massive encoded block of ring features. I also provided an example JavaScript method demonstrating how to bring the amalgamated polygon feature encodings into your Google Map. By some uncanny twist of the fates, I’ve elected to use, had to use, and/or been asked to develop applications that use Google Maps ASCII Encoded Polyline expressions. In previous encounters, I’ve used a PHP class to handle the encoding task, and most recently I wrote a [...]

Friday November 08, 2013:
PostGIS: query all multipolygon parcels with at least one hole
I was writing some code to iterate over Well Known Text expressions for polygon features, and I decided I needed to test the most complex edge-case I could think of–multipolygon geometries where at least one of the bound polygons has a hole (i.e. an interior ring). I ended up with the following query. This seems like the kind of thing I’ll want to reuse later, so I’m noting it here. For good measure, I also use a rudimentary technique to sort the output with the most complicated geometries in the table at the top of the list. Basically, the more “text” it takes to describe the geometry using Well Known Text, the larger and more complex I figure it must be! [...]

Monday August 05, 2013:
Install httplib2 to your Preferred Python Runtime after ArcGIS Unceremoniously Hijacks the First Attempt
We’re going to use Google Maps Engine for some stuff, and so I thought I’d throw my first codes at it using Python. Well.. Google’s Python example requires the httplib2 library, so I needed to install that. When I did—following the library’s download/instructions—for some reason, the library went into service against ArcGIS’s embedded Python runtime, rather than my favored 2.7 instance, which I use for every single thing. ::grimaces:: To fix this, I just ensured the new library’s setup.py script was called from my preferred Python runtime rather than let Windows, or some black magic, decide which instance it should integrate with httplib2. [...]

Friday December 28, 2012:
osm2pgsql help and usage
I wanted a more convenient place to read the osm2pgsql help output, so this seemed as good a place as any for it. /E
-----------------------------------------------------------------
osm2pgsql -h
osm2pgsql SVN version 0.80.0 (32bit id space)
Usage:
osm2pgsql [options] planet.osm
osm2pgsql [options] planet.osm.{gz,bz2}
osm2pgsql [options] file1.osm file2.osm file3.osm
This will import the data from the OSM file(s) into a PostgreSQL database
suitable for use by the Mapnik renderer
Options:
-a|--append          Add the OSM file into the database without removing
existing data.
-b|--bbox            Apply a bounding box filter on the imported data
Must be specified as: minlon,minlat,maxlon,maxlat
e.g. --bbox -0.5,51.25,0.5,51.75
-c|--create          Remove existing data from the database. This is the
default if --append is not specified.
-d [...]

Friday December 21, 2012:
Just updated my LinkedIn profile.. This is just TOO FUNNY right now! [image] I totally had to save this for posterity. Unfortunately it will probably disappear before you can say “Jack Robinson”. [image]

Tuesday December 18, 2012:
mapnik rundemo.exe error: run from within the demo/c++ folder?
So I just installed the mapnik 2.0.1 binaries for Windows, and I ran into a “gotcha.” I couldn’t figure this out by Googling, so hopefully this post will help someone.  (Be sure to note the embarrassing conclusion.) Specifically, following a fresh mapnik install, rundemo.exe told me this:
C:\mapnik-2.0.1rc0\demo\c++>rundemo.exe usage: ./rundemo Usually /usr/local/lib/mapnik Warning: ./rundemo looks for data in ../data/,Therefore must be run from within the demo/c++ folder.
Note the first bit:  usage: ./rundemo   Well ok, that’s fine. Except this didn’t work, either: [...]

Tuesday December 18, 2012:
osm2pgsql and windows errors: failed to start MSVCR90.dll, Connection to database failed, etc..
I’m following the BostonGIS tutorial(s) to learn how to setup an OpenStreetMap tile server on Windows (XP 32, cos’ that’s what’s on the desk), and I’m running into headache after headache. So this post notes the gotcha’s I’m encountering and how I’m fixing them (optimistically assuming I fix all of them). “Thar be dragons..” [image] ————————————————— Part I: “Failed to start MSVCR90.dll” First, as recommended I tried using the HOTOSM installer, but when I launch it using the example command provided on the BostonGIS site, I got the error above. I’d logged out/in, rebooted, [...]

Saturday October 20, 2012:
Decode Google Map encoded points as Well Known Text (WKT) with Python
I had close encounter of the 5th kind yesterday.. here’s the gist.. It started when someone “gave” me a GIS dataset (..of polygons, kind of..) that a colleague of theirs, way back in ancient history, chose to pre-cook as ASCII-encoded point pairs. Their intention was almost certainly to use the pre-cooked data in Google Maps. Anyway, being arguably sane, I wanted to return this data to a more GIS-normal format so I could put it in a database like MySQL or Post and use it for other stuff. I considered a few different approaches to this problem, including creating a Google Map that could load-in all of the polygons from their encodings, then iterate over the polygons, interrogate the polygon point pairs, and finally concatenate WKT features from the points and save the geofeatures into a MySQL table. This approach offered the advantage of using Google’s existing Maps API to do the decoding for me. But let’s face it, that’s lame, uninspired, and not inventive.. it wasn’t even interesting. [...]

Sunday January 22, 2012:
PostGIS: count all features of each GeometryType in a spatial table
Sometimes, just when you think you’ve got something figured out –you get reminded that you really don’t.  :/ As you may know, ESRI allows for single and muli-part geometries to live in the same FeatureClass. So, if I have a shapefile of roads, there might be both LINESTRING and MULTILINESTRING features in that dataset. I live just loose-enough not to care about that. But I do need to be aware of it when I’m cobbling data in PostGIS. In thise case, I was getting a PostGIS error tying to do a Dissolve-By-SQL, so I thought why not get a quick count of each GeometryType in the dataset? Maybe I was running into issues single and multi-part geometries were blurred together. It took me an embarassing chunk of time to get this right, so I figured I’d post the recipe  in case I needed a reminder later. [...]

Saturday November 19, 2011:
Prepare a Shapefile for OpenScales using ogr2ogr and PostGREsql
This post explains how to import GIS data (a shapefile, in this case) into a database (PostGREsql) so it can be consumed by most any mapping API. I have OpenScales in mind, but this approach will support any mapping app with functions for rendering feature overlays using geodetic coordinates (i.e Longitude and Latitude). In many cases, you’ll need to translate your feature data out of a projected/cartesian system and into a geodetic/spherical system; so I’ll include a demonstration of that.

## Quick and Dirty Summary

This approach has two parts. First, we’ll use GDAL’s ogr2ogr utility to import a shapefile into our database. Second, we’ll use a few SQL commands to translate our data from a projected to a geodetic system, as well as optimize the table for fast query speeds. [...]

Friday November 18, 2011:
ogr2ogr: Export Well Known Text (WKT) for one feature to a CSV file
Perhaps you’re looking for this?
ogr2ogr -f “CSV” “E:\4_GIS\NorthArkCartoData\UnitedStates\MO_wkt” “E:\4_GIS\NorthArkCartoData\UnitedStates\USStates.shp” -sql ” SELECT * FROM usstates WHERE STATE_NAME = ‘Missouri’ ” -lco “GEOMETRY=AS_WKT ” -lco “LINEFORMAT=CRLF” -lco “SEPARATOR=SEMICOLON”
My buddy at work needed a way to get the WKT geometry definition for a single feature in a shapefile. I thought, “surely this is something we can do with OGR?” Lo’ and behold, yes it was. [image] The script above uses OGR SQL to interrogate a shapefile for one lone feature and, when it’s found, exports the record to a comma separated values (CSV) file (or in this case, a semicolon delimited file). Here’s a quick break down: [...]

Sunday November 06, 2011:
OpenScales: Coordinate Transformation from Uncommon Projections
———— UPDATE 2.19.2013: It turns out you don’t have to rebuild OpenScales to apply uncommon projections, you can just assign the projection directly to ProjProjection.defs. (See Simon L.’s answer here in the OpenScales user group.) So if I modify my example toward the bottom of the post (at #5), here is how I would apply the alternate, and arguably better, approach. (Fair warning, I haven’t compiled this and tested it yet, the only difference is the first line), but this is how I expect it should be. If it doesn’t work like this, it’s likely ‘cos an instance of ProjProjection needs to be created first, and the defs property of the instance needs to be appended. In other words, if this doesn’t work, follow the line instantiating moNADProj with moNADProj.defs['EPSG:102697'] = “+title…. blah blah”; One of these days I’ll make super-sure this is correct. But I didn’t want to forget where I found this, hence updating the post.) [...]

Saturday November 05, 2011:
Nikon Coolpix 3100 Near Infrared Hack
While this post is not in-theme with the stated goals of the blog, I wanted to save my notes somewhere as well as make a URL to show-off for my friends. On the other hand, I’m opimistic my experiment will enable some “eco-minded research”, so perhaps there’s still a loose tether linking this back to the GIS community.. Basically, I hacked my old, 3 megapixel Nikon Coolpix 3100 today so that I could take NIR (near infrared) pictures. The following images serve as a storyboard for the process. 0:  The tools and materials involved include (clockwise from bottom-left) —-> small round-nose pliers (my wife uses these for beading) [...]

Tuesday October 18, 2011:
Install GDAL on Windows
Later posts on this blog will assume a working install of GDAL/OGR, so it’s prudent that I first demonstrate how to get a fresh cut of GDAL/OGR up-and-running on a Windows system. Windows users have a few options for installing GDAL (see this question at gis.stackexchange,which will point you to Christoph Gohlke’s binaries –scroll down to GDAL, and the OSGeo4W Installer, among other approaches). However, I’ll guide you through what works for me, which can be summarized as follows: 1) Install Python 2) Install the GDAL binaries published by Tamas Szekeres 3) Append your environment Path variable [...]

Sunday October 16, 2011:
“When life gives you lemons..” Let’s just review the signs:
• First, the Google Maps Flash/Flex API had not been updated for quite some time.
• Meanwhile, some developers were sharing a hack to bypass a nasty initialization bottleneck in the Maps Flash/Flex API that stalled map loading in AIR apps.
• At the other end of the yard, Google lifted its registration key requirement for the Maps JavaScript API V3; yet, the Flash/Flex counterpart remained unchanged in this respect (curiously, it was key-hashing that caused AIR apps to stall).
• Finally, and though unrelated, Pamela Fox, one of the higher-profile support engineers attached to Maps developer relations, left Google for other pursuits. [...]

How to set bounds and make map bounce back if moved away?
[Final Answer] I bet you can easily resolve this by setting the map's maxBounds equal to its initial bounds immediately upon loading. :) Just add this to your initializing code once your map variable is ready.
map.setMaxBounds(map.getBounds());


[Original Response] When you instantiate your Leaflet map, you just need to pass in a [...]

Finding Two locations with conditional search on DEM?
I am assuming that Q capacity represents something like "basin/area above a (pour) point". If so, SpatialAnalyst (an ArcGIS extension) has hydrology routines you can use to derive the watershed above any so-called pour point. To go from a raw DEM to a watershed; however, you have to do some preprocessing first. And I suspect you'll need to do some of these anyway regardless of what your ultimately needing to accomplish. [...]

Leaflet/HTML/GeoJSON: How to put a pop-up on a geoJSON point?
I think the trouble may simply be the formatting of your options block. Based on how I'm understanding Leaflet's documentation for GeoJSON, both onEachFeature and pointToLayer should be attributes of the same options object. What happens if you format it like this?
var geojson = L.geoJson(data, {
onEachFeature: action_To_Perform_When_Marker_Is_Clicked_On_The_Map,
pointToLayer: function (feature, latlng) {
return L.circleMarker(latlng, geojsonMarkerOptions);
}
});
[...]

Sources of realtime spatial data
I think the question implies a preference for sources of real time vector data, but given the title, I thought it a good place to remark on any and all sources of real time GIS data. USGS Real Time Streamflow Data The US Geological Survey real time streamflow data provides a fun source of information. Clearly the gauges are points corresponding to changing streamflow values. From the USGS site: [...]

Improving performance when importing file geodatabase into PostgreSQL?
To emphasize @user30184's remark, try applying the OGR PostGRES driver config option to your ogr2ogr instruction: --config PG_USE_COPY YES Additionally, it might help to disable the AUTOVACUUM setting in the PostGRES conf, I know I've seen that mentioned in some OSM tips and tricks for improving import performance. [...]

Batch conversion of XY coordinates to latitude and longitude
[EDIT] The original source data is California State Plane Zone 2, i.e. EPSG:2226.
The following approach using ogr2ogr will perform a CSV to Shapefile conversion, including the coordinate transformation to Lat/Long (i.e. WGS84) that you're desiring. Basically I'm just adapting the approach demonstrated in [...]

Count Distinct with Where clause in OGR
Bingo. It involved a little witchcraft piping two ogr2ogr instructions together via STDIN/OUT, and you'll need to adapt it to your purposes, but something like this should work: ogr2ogr -f "GeoJSON" /vsistdout/ -dialect sqlite -sql " SELECT fullname, COUNT(*) as ct FROM ROADS_3857 GROUP BY fullname " "C:\xGIS\Vector\ROADS_3857.shp" | ogr2ogr -f "CSV" -where "ct=1" /vsistdout/ /vsistdin/ >"C:\xGIS\Vector\ROADS_3857_shpreport.txt" [...]

Convert WKT to GeoJSON with leaflet
If you've already got WKT, then you might considering using the JavaScript library, Wicket, to go straight from your WKT to Leaflet features. As this example shows, you can pass in a WKT string and a style/options object, and Wicket will return a feature object you can attach directly to a Leaflet FeatureGroup, etc. [...]

Making Open Street Maps Transparent in Leaflet
This is more correctly an issue with your tile server config, and not with your leaflet code. You need to change the layer styling of your OSM tiles so that there is no background-color in the tiles generated. Your technology may differ, but I have used Mapnik to render transparent tiles, and in the XML style sheet, I notice this bit at the top, where it defines the overall "map" style it's going to render against.. [...]

Ways to determine winding topographic characteristics of a river
I'm not a hydrologist, so I'm not aware of any metrics/heuristics that should likely govern your methods, but here's a stream-of-consciousness response for something that would be fun to try. Interpolate points along the line: First, I'd interpolate points along the line with an equal-length, short spacing according to a [...]

Fisheye-like projection
D3 has a fisheye distortion plugin, which I found by Googling "svg fisheye transform".. It might be useful for your situation. Basically, I'm suggesting converting some of your shapefiles to SVG (or GeoJSON?) making your map using the increasingly popular D3.js library. My thinking was, I knew the country boundary geometries could be converted to SVG vector types, and I suspected that as SVG, there might be more suitable approaches to implement the fisheye transform you're desiring. [...]

Tile server return empty features
I noticed your shapefile has no .prj sidecar file. If you have installed the GDAL/OGR toolkit, it could be worth a try to attach the projection information to see if that brings everything to life. Use ogr2ogr to fix it.. Your data appears to be in WGS84 (i.e. EPSG:4326), so the following ogr2ogr command will [...]

What tools do you recommend to draw historical shipping routes?
Since you already know the routes you want to illustrate, I'm not sure pgRouting is the right tool for the jobâI believe it intended to support questions involving routing where you have a number of alternate path options, and you want to identify the most optimal route, chiefly among driving s [...]

How to understand GeoTIFF tags?
It seems to me your question has two parts--1) what do the tags tell you about the coordinate system, and an implied 2) how to extract positional data based on the image's coordinate system. TAGS: L_Holcombe is right, in that the PCS (projected coordinate system) holds an EPSG code for the coordinate system that is [...]

Area is calculating wrong using $area in field calculator (QGIS 2.8.1-Wien) Without precisely knowing the projection of your data, it's difficult to be sure what went wrong with your calculation. That said, it's always risky methodology to allow any kind of reprojection on the fly in your GIS when you're additionally performing geometry calculations. The same is true if you [...] How to query postgres with gis to get GeoJSON for GeoJSON tile layer? This is how I would form the query you're asking about using ST_MakeEnvelope() and the && operator. You can request whatever field data you want, in addition to the geometry in GeoJSON format using ST_AsGeoJSON(). Also I recommend taking advantage of that function's ability to specify a max decimal precision value. Here I'm requesting geometries with 7 decimal places. [...] Procedure putting online a graveyard in a GIS Patrick you're on the right track. This is something I've given some thought to so I'll offer some reactions and feedback. Common, Recognized Coordinate Systems First--it's perfectly fine to start the interment dataset in Excel. My guess is you have some "army" of students, genealogy enthusiasts, and possibly some cemetery employees building the point data with GPS points. To avoid any frustrations down the road, just make sure everyone is taking LAT/LON po [...] How to order points along a line? If using PostGIS, you can order the bus stops according to their value returned for an ST_Line_Locate_point() call. This is how it looks if I apply it to the linestring and points you supplied: SELECT ST_Line_Locate_Point(line.f1, ST_GeomFromText('POINT(-70.58176091969386334 -33.37599871220383818)')) as A, ST_Line_Locate_Point(line.f1, ST_GeomFromText('POINT(-70.58081166577235877 -33.37588970535671251)')) as B, ST_Line_Locate_Point(line.f1, ST_GeomFromText('POINT(-70.57890070625846 [...] Leaflet: Map focus issue after enabling a custom ZoomToArea control in Firefox It seems one solution is to prevent this dragging issue upfront, at the document level, rather than retroactively treat the symptom and push focus back to the Leaflet map element/object using javascript.. It finally occurred to me to google "javascript firefox disable image drag", and that lead me to [...] Automating estimation of invert elevations using ArcGIS for Desktop? Just off the cuff.. you might try first extracting the endpoints of your line features, then extract the DEM elevation values for line endpoints and the manholes. 1) Feature Vertices To Points (Data Management): Turn your pipe line features into endpoints. Note the graphic describing your different [...] Satellite Imagery Providers MapBox recently (as of appx Fall/2013) started offering an imagery service, and while it's not available to free accounts, it is available to all of their paid accounts, which start at just$5 a month. I'm impressed with the resolution they've achieved, too. This is zoomed-in to a small town in Arkansas [...]

How to rename PostgreSQL/PostGIS columns while importing Shapefiles?
To expand on David Bitner's answer, here's an example ogr2ogr instruction demonstrating an optional OGR SQL clause to rename fields from a source dataset (shapefile in this case) before they are brought into a target dataset (a PostGREsql table):
ogr2ogr -f "PostGreSQL" PG:"host=127.0.0.1 user=YourUser dbname=YourDB password=YourPass"
"E:\path\to\YourShapefile.shp" -nln NewTableName -nlt geometry
-sql "SELECT col_1 AS BetterName, col_2 AS ImprovedName FROM YourShapefile"
-lco GEOMETRY_NAME=the_geom
[...]

Best Practice for HTML5 Geolocation with ArcGIS for Javascript API
I think your first solution, to project the Lat/Long coordinates to your preferred state plane is the right way to go. However, I'm not sure what you mean by "a Geometry Service". Do you mean you're using a 3rd-party web method to perform the coordinate transformation? If so, I would discourage that [...]

For anyone else who comes through here researching this, it seems Google Maps Engine (GME) doesn't expose individual layers as WMS assets. If I'm wrong, I hope someone will correct me in the comments. Rather, you have to create and publish a map asset to include the layer(s) you want, then publish the map. Then, the map's "access links" will include a WMS url. To find it, browse into your map in the GME dashboard, look in the upper right corner of the map details view, click on "access links" and note the WMS option. The map will need to be publ [...]

How to view locally generated XYZ map tiles?
Your browser can load your local XYZ tiles. Check this tutorial at BostonGIS which shows how to do this relative to OpenLayers. The thinking should transfer to Leaflet or whatever else you want to use. You should install and setup Apache or IIS so that your development machine can behave like a server and serve itself the tiles in the same manner as any deployed website would, but I believe you can still use a local file path and the OpenLayers or Leaflet client will still consume the tiles withou [...]

Automate import of multiple rasters as layers into tilemill
Could you use the GDAL utility, gdalbuildvrt, to create a mosaicked VRT as a raster input to TileMill? It seems to be a recommended approach.

Looking for dissolve algorithm for Javascript
Stumbled across this and thought I'd provide an example.. 1) First download the JSTS library, unzip it, browse into the lib folder, and include the two lib files (javascript.util.js, and jsts.js) in your project. I put mine in a separate jsts folder and referenced them like so..
<script type="text/javascript" src="jsts/javascript.util.js"></script>
<script type="text/javascript" src="jsts/jsts.js"></script>
[...]

How to export a shape polygon to a file
If you're comfortable with GDAL/OGR (or willing to level up), you can use ogr2ogr along with OGR SQL to quickly and easily export a single feature from any of the OGR supported vector formats into a stand-alone shapefile. For example..
ogr2ogr -f "ESRI Shapefile" "C:/xGIS/Vector/test/Richland.shp"
"C:/xGIS/Vector/COUNTIES_SC_WGS84.shp" -nlt GEOMETRY
-sql "select * from counties_sc_wgs84 where cntyname='Richland'"
[...]

Source for high-resolution satellite images free/low-cost?
You might want to checkout the MapBox Satellite layer. It's available under their Basic Plan, which is \$5 a month. I believe the layer is distributed as TMS tiles, and you can review the granularity and coverage of the layer before you commit to anything. Admittedly, though, this would be more difficult to apply to your use case, but surely not impossible, as GDAL could be used to mosaic the tiles. [...]

How to convert NAD 27 to WebMercator in using the ESRI Silverlight API? (C#)
I'd recommend you try the Proj.NET library (a Proj4 implementation for .Net) in your application and let Proj.NET do the coordinate transformations for you. It should be compatible with Silverlight by way of C#. Here's a blog post with a C# example showing implementation. I took a crack at it in a simple Windows Form app. Here's a screenshot of it.. [...]