Fishing in Winter
If you're going to work with GIS tools as a Custom Cartographer and Geographic Design Specialist in 2016 and beyond, I suggest you get creative to how you acquire temp, part-time, short-term-contracts, and long-term-contracts. In this post, I explain the gist of how I worked as a freelance GIS Technician for ProPublica over the course of a few hours in January of 2016.
Follow as many people as you'd like, tweet as much as you'd care to. I don't mind. Personally, my geo-gamut of 'Twitter-Followings' is comprised of Geographers, Cartographers, GIS Analysts, Geographic Educators, Surveyors, Field Biologists, Program Directors, Marketing Managers, Remote Sensing Scientists, 3D Game Designers, Geography/Cartography Societies, Reporters/Journalists, Front-End Developers, Software Engineers, and more. You never know where your next gig could come from.
The following bulleted list is a timeline of actions conducted from an iPhone in order to secure the job.
- Read Bill Morris RT at 8:01AM
- First sent a Tweet to Al Shaw at 8:04AM
- Followed up on my emoji to Al Shaw with an e-mail at 8:07AM
- Continued an e-mail correspondence with Al until 10:18AM
- I like Al Shaw's tweet about the gig at 11:20AM
- Deadline for the project completion is in 3 days (Friday afternoon)
- This image and the job was confidential until our project was released.
- I estimated total hours for my workload to be 1–3 hours
Generic Directive for Project
- Georeference Image
- Digitize the Path on the Image
- "Vectorize it"
- Export a GeoJSON and/or Shapefile
This was my first-ever contract assignment using QGIS. I hadn't used QGIS much before this, because my educational institution and employers had ArcMap licenses (and most GIS users are trained on ESRI products). Luckily, I georeferenced historic Philippines topographic maps using QGIS while working last year in New York City on a World War II book-project.
Georeferencing an image in QGIS is fairly straightforward, as explained by QGIS Documents (similar to resources.arcgis.com). As you can see, the image that was provided was rough. I don't know how the 640x398 JPG was created. The neon-green line represents the proposed (and generalized?) storm-barriers of the Lower Galveston Bay. With this project, there were two small problems to overcome before georeferencing. I didn't have a graticule for reference (to easily set ground-control points), and I didn't know the coordinate-reference system (CRS) of the source-image.
With an unknown CRS and a low-resolution source image (map), I knew I had to georeference using known geographic features from an aerial/satellite basemap. The decision to use Bing Aerial Imgaery was a result of estimated guess that the source image was created using Bing Maps Aerial.
Step 1: Opened QGIS and Addeda Satellite Imagery to the Map Document using the Open Layers Plugin. (See image: Web>OpenLayers Plug-In>Bing Maps>Bing Aerial)
Step 2: In order to georeference this image properly, I had to modify the CRS of the QGIS project. The default CRS of QGIS is WGS 84 (EPSG:4326). I had to set the CRS to WGS 84 Psuedo Mercator (EPSG:3857) so that OpenLayers Plugin basemaps would render.
Step 3: Open the Geoferencer Plugin. Added the raster source image to the plugin window, and selected WGS 84 Pseudo Mercator because I was establishing GCPs based features from the Bing Aerial Tiled Map Service.
Step 4: Added at least four GCPs (points). When I added the first point, I received a dialogue box to enter X and Y coordinates manually, or there is an option to add points "from map canvass". I chose this option.
Step 5: After setting all my GCPs, I open the transformation settings dialogue box, to set the parameters for how I wanted the source image to be georeferenced. I chose a transformation type of Thin Plate Spline because, according to documentation online, "The Thin plate spline (TPS) algorithm is a more modern georeferencing method, which is able to introduce local deformations in the data. This algorithm is useful when very low quality originals are being georeferenced. I chose a cubic resampling method because I wanted a smooth transformation between all my GCPs. The target CRS is the same as before, EPSG: 3857, Pseudo Mercator. Pressed "OK from this window, and then "Start Georeferencing".
The georeferencing of the original source-image was complete, and I could transition to creating a new vector dataset in QGIS, using the editing (digitization) tools.
Digitzing, creating a new vector dataset in QGIS is a another straightforward and entry-level geoprocessing technique. I had done this dozens, if not hundreds of times in ArcMap Desktop, and not QGIS—so getting familiarized with the GUI of QGIS in vector creation was the biggest "challenge" here. The documentation for an editing session in QGIS is good, and easy to follow along.
I was given a preliminary shapefile dataset as a reference point for how Al wanted the attribute table to be created for the new vector layer. Once I had lower_bay.shp and the lower_bay_geotif in my QGIS map-document, I started digitizing the new vector layer based on the neon green line-work (that was rasterized with the source-image geotif).
After the digitization process was complete, I created two shapefiles and geojson files for Al and the project was complete. To convert the shapefiles to GeoJSON, I used the ogr2ogr/gdal command. ($ ogr2ogr -f GeoJSON [outputname].geojson [inputname].shp)