Smathermather's Weblog

Remote Sensing, GIS, Ecology, and Oddball Techniques

Archive for the ‘Conferences’ Category

And on that farm he had a cat… #cfasummit

Posted by smathermather on November 4, 2013

Two of the sets of conversations I really enjoyed at the CfA Summit in the 3rd day unconference were on the topic of Chief level technology positions, from Chief Innovation Officers to Chief Technology Officers to Chief Information Officers.  It was interesting to hear others’ interests, frustrations with both ends of recruitment, and the realization that there wasn’t a central repository for such position descriptions available.  So with the help of people in those sessions plus a few people after the Summit, I started a little repo to centralize the PDs and other relevant info for C*O tech positions.

Screen shot 2013-11-04 at 10.09.20 PM

From the repo:

“A number of C-level technology related positions have been created in local governance in the last few years, from traditional Chief Information Officer and Chief Technology Officer, to newer descriptions including Chief Data Officer, Chief Innovation Officer and others. This repo is meant as a source of C*O position descriptions and other relevant information for the creation of these leadership tech position in the civic sector.”

https://github.com/smathermather/EIEIO

A number of people have been involved in the discussion, including the following folks at the Summit:

Steve Allen, David Burns, Jennifer Anastasoff, Matthew Barron, Noel Hidalgo, Brian Chatman, Zachary Vruwink, Jake Levitas (and a couple I unfortunately forgot the names of…)

as well as a number of people who weighed in post-Summit, including: Jonathan Reichental, Bill Haight, Deborah Acosta, Yiaway Yeh, Vakil Kuner, Mark Headd, and of course, CfA’s own Abhi Nemani.

If anything is wrong in the repo, I take credit.  Anything right?  Check the above list of names.  Oh, and fork it, so I’m not the only one being wrong… .

Posted in CfASummit, Conferences, OpenGov | Tagged: , , | Leave a Comment »

Favorite Slide, #cfasummit

Posted by smathermather on October 22, 2013

So, if I had to choose one iconic slide from the CfASummit (and I do as I really need to catch up on sleep, so long posts will wait until the end of the week) this would be it presented by our illustrious MC (David Eaves) for the event:

1381940090486

The gist of the slide is that CfA has gone from the simple website/front end design overhaul within governance to addressing rules, processes, and culture, and is aiming for the root of the government stack, processes of procurement and their impact on tech in government, and establishing and “open by default” culture for governance.

There are three things I like about this diagram:  the analogy of government and software stack, the idea that these changes are part of a culture of “play” (which by the way is a wonderful encapsulation for the process of experimentation and learning taking place), and finally that the plan is to address through thought leadership and practical solutions underlying issues of procurement and culture that are at the root of the disconnect between government and technology.

Speaking of government, technology, and procurement, it’s refreshing how on-point the media that I have caught on healthcare.gov is.  Nice that this has moved from a niche issue to something that is being commonly discussed.

Finally, a quick link to my only (and humble and nacent) post on open government:  https://smathermather.wordpress.com/2012/12/13/architecture-of-an-open-data-initiative-fed-style/

Posted in CfASummit, Conferences, OpenGov | Tagged: , , | Leave a Comment »

Building something really useful #CfASummit

Posted by smathermather on October 20, 2013

I just came back from the CfASummit, 2013 and thoroughly enjoyed it.  I met a whole bunch of really dedicated, intelligent, and idealistic people who have been blessed with a position to change the world, the presentations made me laugh and cry (really).  CfA represents many the changes I have been hoping for in the public sector since I entered it 5 years ago, and many I hadn’t thought about.  And the Kool-Aid was amazing.

I have a few really good posts regarding these experiences in the queue that I haven’t finished yet, but just saw a post by Steve Citron-Pousty called “Hey Civic Hackers! How about leaving the ninja skills at home and building really useful applications?“.  Steve had 4 core points:

  1. At the very least, the only programming languages you should use on the server are (in decreasing order of priority) PHP, Java, or Python.
  2. Next up, most civic hacks should use a popular framework.
  3. Document your project more than you think you need to document it.
  4. Finally, in truth, most civic hacks should really make a plugin for a platform like WordPress, Drupal, Django, or Magnolia.

The core idea being civic hackers should be providing tools that can be changed and adopted by the municipality.  Responses on twitter have varied, with a nuanced response from @spara:

Screen shot 2013-10-20 at 10.54.20 AM

Screen shot 2013-10-20 at 10.50.20 AM

———————

So, I want to be nuanced too.  I have a lot of affection and respect for the CfA Fellows who serve our neighbors and partners in Summit County.  They have built a simple and beautiful interface for finding trails in the park systema.  I celebrate what they built, and have enjoyed watching this product develop.

https://trailsy.herokuapp.com/

But, one frustration I have had with the process was the balkanization that resulted from the project–here all partners (I am not employed by a partner, but I’m a trouble-maker with the Brigade) involved were hoping for some regional product from the work of the Fellows.  There was already locally commissioned work complete built on (gasp) PHP/Codeignitor application with similar intents.

The Fellows application is compatible with the existing application in no single way– not employing a similar back end, not sharing any front end code, not even sharing API compatibilities.

So let’s return to Sophia’s comment on twitter above: “We are there to start process of changing everything rather than bolting on to entrenched process and infrastructure.”  This, I am afraid, right or wrong, is the language of colonization.

———————

So where does this leave us regionally?  Now we have two related applications, which share no heritage, front end, back end code, nor API, and an expectation from local leadership to avoid the mistakes of the past of balkanization, those very same entrenched processes that CfA aims to undo.

So, when civic hackers enter a space and see change for the good happening, is it better to build that rails race car that Steve’s post points to, or should we be, in addition to changing the existing civic tech space also be celebrating and enhancing good things that are in progress?

———————

From a practical standpoint, how do we put the pieces back together?  I want to emphasize again, the great and meaningful work work the Fellows did.  But they will leave us in a few weeks with a real challenge.  Thoughts?

Code for each project can be found (naturally) on GitHub.

https://github.com/danavery/trailsy

https://github.com/cleveland-metroparks/trailsforthepeople

Posted in CfASummit | Tagged: , | Leave a Comment »

North American Cartographic Information Society (NACIS) Conference (yay #NACIS!)

Posted by smathermather on October 14, 2013

In a short blog post, I won’t be able to do the NACIS conference justice, but if you haven’t gone and you are a map geek, then I recommend you attend next year’s conference in Pittsburg.  First:

The People:

What a collegial and warm group of people.  NACIS was a very welcoming community, an interesting mix of private industry geniuses (ahem, Mapbox, Stamen, Vizzuality etc.), academics, students, National Geographic cartographers, and typically some serious Federal representation (although largely absent this year, a notable exception being Mamata Akella from NPSMaps who is technically not directly employed by the Feds and so was allowed to attend anyway).  As someone who spent the better part of a decade in the academic sector, it was fascinating (and comforting) to be back among (largely) introverts.  I would, however, argue the Nat Geo Cartographers were generally an exception to the introversion, but really pleasant and interesting folks as well.

Also, Andrew Hill from Vizzuality was there, so I picked his brain on features coming down the pike (including better Torque support, including a GUI soon), and bugged him to add pgRouting to the back end of CartoDB… .  He seemed receptive to this, and suggested following up under CartoDB support.

Presentations:

All the presentations were great.  From a very tech-practical standpoint, I enjoyed Carl Sack’s presentation on D3.  It was a great intro to D3js, and really got me over the basic barrier to using D3– getting the data in.  The TL;DR– order matters in the use of the API, queue.js is mighty useful, and all the data manipulation needs to go in the callback function to ensure your D3 goodness isn’t sunk by asynchronous execution.

The Maps:

Oh, boy there were some nice maps in the map gallery.  One trail map was an excellent theft of Swiss cartographic techniques, all the maps were interesting and well polished, and it was fun to look around at the diversity of approaches and topics.  Two maps of note that I really enjoyed– one is a map/infographic of wool exports from New Zeland, knitted in wool on a maker space constructed knitting machine:

Wool map

Also a really nice alternative piece was a bathymetry map by Carolyn Rose, which can be viewed at her blog: http://bathymetricbook.blogspot.com/

Other:

My presentation went well.  There were lots of questions about a project we’ve been working on for our public web interface to help people find trails, parks, picnic areas and other parky amenities.  We just posted the code for the project to GitHub (https://github.com/cleveland-metroparks/trailsforthepeople) and I’ll have my slides posted from the presentation shortly.  It was really great to connect with others working and starting to work in similar spaces of parks and recreation mapping.  I am already enjoying the follow-up and hope this builds in to a large spatial/web community servicing this sector.

 

Posted in Cartography, Conference, NACIS | Tagged: , | Leave a Comment »

Boston Code Sprint

Posted by smathermather on March 31, 2013

I hung out this week at the Boston Code Sprint http://wiki.osgeo.org/wiki/Boston_Code_Sprint_2013, which is a “C-Tribe” code sprint for improving things like PostGIS, MapServer, and other GeoFOSS projects written in C. See Paul Ramsey’s posts on PostGIS and MapServer for more on what everyone was working on.

Being my first time at a code sprint, it’s been very interesting, and it’s a very warm and inviting group. I will have some forthcoming posts on the work I did on skeletonization, and also work on getting it up on GitHub. Toward this end, Voronoi (yipee!) should land in PostGIS in the future via two venues. The first venue to provide Voronoi will be from the recently welcomed SFCGAL (optional) dependency additions to PostGIS coming down the pike from the Oslandia representatives, Olivier Courtin and Hugo Mercier, who were at the sprint. The second venue will be the addition of Voronoi from within GEOS as a port from JTS, since JTS already has it implemented. That may be a few months off, as it is being proposed as a Google Summer of Code (GSoC) project which Sandro Santilli agreed to manage (after hunting me down in IRC for my overly broad GEOS ticket).

For my part, I cleaned up and worked on documenting my existing code base for routing skeletonization, played a bit with some additional filtering techniques appropriate to skeletonization, and ran some performance tests against the skeleton results that Olivier was producing from an ST_StraightSkeleton function leveraging the CGAL computational geometry library. It wasn’t a fair test, as my skeletonization was approximate, and Olivier’s exact, but it did give us the sense that ST_Voronoi from that codebase might be more performant for the skeletonization problem than exact skeletonization as performed by CGAL. As part of the skeletonization problem, I have been tasked by Paul Ramsey to write a C implementation of Dijkstra routing, to remove my pgRouting dependency from my skeletonization code, which I will start in on when I get a moment to breathe.

So, what will skeletonization look like when it’s complete? Nobody knows, but my projection is that we’ll have a few functions, dependent upon the kind of information you have about the geometry you want to skeletonize. So for example, if you had a stream network with known inputs and outputs, the algorithm would take advantage of that a priori knowledge and use it to clean up the final skeleton. Something like:


skeleton_geometry ST_Skeletonize(geometry polygon, geometry multipoint);

This is will create a nearly perfect skeleton for the cases where you have this a priori knowledge.

Stream Centerlines

The tougher problem, of course, is when you have less knowledge about the skeleton. And if you want to encourage PostGIS developers to kibitz about analytical geometry, pose this as a problem– believe me that hours will be spent generating new algorithms for solving it. I arrived with 4 ideas on skeletonization (one of them the above) and left with an additional 3 or 4 great ones from conversations with Stephen Woodbridge, Regina and Leo, Pierre Racine, and Bborie Park (hopefully I haven’t forgotten any). But, regardless of which of these pan out, the idea is simple, instead of two input geometries, these will take an input polygon geometry and one or more tuning parameters. Cheers to Paul too for helping to limit the depth of this rabbit hole for me.


skeleton_geometry ST_Skeletonize(geometry polygon, value double, skeletonType text);

These solutions will likely not be as good as the routing solution above, but will be tunable to a posteriori results. The use case here might be scanned maps of road networks, contours or similar from which we want to extract linear features, or similar. Thus these approaches are an important addition to enhancing conversion from PostGIS Raster data type.

Posted in Code Sprint, Conferences, Database, PostGIS, PostgreSQL, SQL | Tagged: , | Leave a Comment »

EcoHackNYC, version 2.0

Posted by smathermather on April 22, 2012

I had the pleasure this weekend of attending EcoHackNYC for the second time.  It was a generous, brilliant, and fun group to join for a day of hacking.  Sadly, this time, as last, I had public transit issues, so I did not make it for the Friday night ignite talks.  There were a number of talks and topics; swing over to twitter and search for #ecohacknyc to get a tweety view of it.

I presented a project idea on Saturday AM re: putting together mobile-ready field forms for performing plant community assessment protocol (PCAP).  In short, plant community assessments allow us to make qualitative assessments of plant communities, so that we can distinguish between high quality, medium quality, and low quality habitats.  The process stems out of the tradition of wetland monitoring programs from the State of Ohio, recently adapted for terrestrial ecosystems as well.

The interesting thing about these protocols, relative to simple diversity indices, is that alike communities are compared.  So, for example in wetland assessment, the wetland hydrogeomorphic (HGM) class is considered, meaning a high-quality fen will be compared with other fens, but not to a coastal wetland.  This prevents high quality ecosystems of naturally lower diversity, lower plant sensitivity, etc. from being scored relative to systems that are naturally more diverse, and/or have more or a greater number of sensitive species.

What I proposed at EcoHackNYC is that a group of us work on putting together tablet-ready field sheets to help streamline the data collection process for these datasets.  Presenting at the last minute, as I had missed the ignite sessions, I got no nibbles on working on the project.

So, I sat with a group building this:

An interface for communicating local demand for community supported agriculture (CSA) through a simple map interface.  It’s meant to be a tool to aid in the development of new CSA drop-offs based on local demand.  You can follow the project on twitter @csabuilder.  It’s built on Heroku for hosting, MapBox for map tiles, Leaflet for the mapping interface, jQuery for most everything else, and leveraging CartoDB for PostGIS goodness.

In the interest of full disclosure, I wrote not a lick of code for this projects– I mostly just kibitzed and made snide remarks, while working on getting Open Data Kit (ODK) to bend to my will in developing field forms for the aforementioned PCAP project.  I may have a forthcoming post on ODK, which was fun and easy(ish) to set up and deploy for creating Android form management.

Posted in Conferences, EcoHackNYC, Mobile, ODK | Tagged: , , | Leave a Comment »

G. I. O.: A Real American Hero (FOSS4G-NA)

Posted by smathermather on April 14, 2012

Whew! What a conference! All the classic FOSS4G stuff was there, from why the breaks in version for PostGIS (serialization + more…) = 2.0 rather than 1.6, to “here are the new combinations of existing technology stacks”, to the “tribes” of Open Source GIS.

I will confess: when I went to FOSS4G 2011 in Denver, I was a little terrified to actually meet and interact with the minds and persons behind the ecosystem of Open Source tools that I use and follow. This time, FOSS4G North America, I was a little more comfortable in my own skin. I had some nice conversations with lead developers and other cognoscenti on some of my favorite projects, including GeoServer, JTS, PostGIS, and CartoDB. This remains a remarkably accessible and down-to-earth group, in spite of the rapid growth of Open Source Software in the GeoSpatial sector, with warm and knowledgeable personalities.

Subtitle: FOSS4G-NA– send in the Bureaucrats!

The thing that was different about this conference was the preponderance of bureaucrats. Making the list were Michael Byrne from the FCC and Keith Barber, from the NGA, plus a few from DOD that were at the vendor session on Thursday. Later I’ll create a blog, likely called Straw-Hat-Hacker on my thoughts on Peace, Social Justice, and Anabaptism and my thoughts on the interaction between technology, FOSS, FOSS4G and the military industrial complex. For now, I’ll just state there is a strong connection, and that connection was represented at the start and end of the conference.

Speaking-wise, the highlight from The Bureaucrats was Michael Byrne, the Geographic Information Officer (GIO) for the Federal Communications Commission. It was an entertaining, well structured, and informative presentation, advocating for RESTFul, transparent, paperless, as well as cost-effective governance, with tangible examples from his own work within the FCC, including getting his hands dirty with a MacBook Pro and MapBox TileMill for quickly provisioning great “enterprisey” products for decision-makers and the public. I look forward to re-watching it when the videos become available online.

Given all the politics we watch from outside The Beltway, it was really nice to see that genuine effort goes into informing decision makers by very talented and genuine characters like the FCC’s GIO. Bravo.

Posted in FOSS4G-NA | Leave a Comment »

EcoHackNYC– Cool projects, fun new ideas, human waste, CartoDB and other flotsam.

Posted by smathermather on November 7, 2011

I took a bus to New York City this weekend to enjoy the company of fellow hackers at EcoHackNYC, organized by Javier Torre and Andrew Hill of Vizzuality and Robin Kraft of REDD Metrics.  Due to delays in Pittsburg, I missed the ignite talks on Friday, arriving on NYU’s campus on Saturday morning. Several groups formed around topics and we started hacking. I worked on Robin Kraft’s crew– helping to put together a draft visualization of deforestation data for Indonesia. I suspect that something interesting will continue to evolve out of that project. Robin envisions visualizations for tropical deforestation on a monthly basis globally, and he’s not far away from that. It should be really great to see. We also got some wild-eyed data visualization/HTML5/data transfer protocol ideas out of that project, thinking about how to stuff any sort of data into a PNG tile.  The cool thing is that while our wild-eyed plans would require special data prep, they would not necessarily require changes to existing middlewhere/tile-rendering software initially, just client level magic. More on that later, unless we discover we’re re-inventing aluminium rims and someone has already built a hot rod.

It turns out, when I stayed in a hotel in Midtown Manhattan, had it been raining hard enough to activate the CSOs, my waste would have come out just upstream from the UN. True story.

For now though, I’ll highlight one of the more polished products presented at the end of the hacking event the Don’t Flush Me project (warning– potty humor and mild curse words involved). I did not work on this project. With so many pun opportunities I probably would have derailed the project with linguistic abuses of monumental puniness, so maybe it’s for the best. I’m holding back right now. I just want you all to appreciate that. I like potty puns so much, they are my first and second most favorite pun type. That said, the best pun of the night was by a gentleman named Francois who was with the big-carbon-footprint group (meaning they flew in from Brazil for the conference– it was nice to have the international contingent). I’m always particularly impressed with puns done in an individual’s second language. It shows true mastery. Of course, now I can’t remember the pun. Anyway, I digress substantially more than usual.

Quick 3rd party description of the project: Don’t Flush Me took the combined sewer overflow (CSO) pipe diagrams and outfall data for Manhattan and created an interface that geocodes from address or IP and returns a polygon that shows the shared sewershed and overflow location for the input location.

Additionally, it has the Wunderground API wrapped in, in order to report whether there has been rain in the last day for your sewershed. Further work on the project would model capacity vs. rainfall and report whether you should wait to flush, and other such features. There are some small browser-dependent geocoding api bugs, but that’s forgivable considering this was put together in fewer than 8 hours. Also, the code is reportedly not particularly well organized yet. But who cares– the functionality is awesome. As an aside, if memory serves me, the back end PostGIS services are hosted in a CartoDB instance.

I think Don’t Flush Me could serve as a great model for reporting mechanisms for Sewer Districts with CSOs. Brilliant, well-scoped, and well-executed work, also fun to use. If you are not in Manhattan, here are a couple of addresses you can feed into the geocoding engine:

11 West 53 Street  New York, NY 10019

1 Wall Street, New York, NY

and an homage to the kindness of strangers:

Chelsea Park, New York, NY.

Posted in Conferences, EcoHackNYC, Ecology | Tagged: , , | Leave a Comment »

Motivations behind Open Source

Posted by smathermather on September 20, 2011

Waxing philosophical tonight.  Apologies in advance.

Paul Ramsey had a great opening keynote opening keynote at FOSS4G on the business model/economics (punchline: business tactic) behind Open Source software, and Free and Open Source companies.  It was funny and convincing, began with absurdity, and made me laugh, as did his PostGIS for Power Users.  His presentation style is at once casual, clever, and passionate.  What caught my attention was the series of slides about the primary and secondary motivators behind making Open Source software: money, community, shared accomplishments, etc.  Is money or should money be the primary motivator behind Open Source software development?  I don’t mean for individual companies– for companies, money may be the primary motivator (if I may divorce individual choices from corporate motivation).  But for individuals working in the Open Source Geospatial community?

If RSAnimate’s video on “The surprising truth about what motivates us

(go ahead, watch it, I’ll wait) is a good indicator of what current research indicates motivates people, money becomes secondary once a certain level of comfort is met, and above that line (whatever that line is) more money actually makes us less productive, more risk averse, and well, less smart, of all things.  So, if Open Source is the superior development model, and we want great Open Source, do we want to be driving the model for Open Source development through the idea that money is the primary motivator for that development?  Money is important, and we want companies to understand that there are business models that include Open Source code as a tactic, but shouldn’t we be articulating carefully who we are and why we have the community, the tribes, of Open Source GeoSpatial developers and users we have?

So those intangibles Paul mentions in his keynote:

  • community
  • shared accomplishments
  • satisfaction of learning and exploring
  • freedom to build
  • membership in a global community

I argue those are the important factors in motivating great FOSS development.  The money.  That pays the bills, feeds the family, keeps the roof over out heads, etc., all vitally important.  But it’s the participation in projects larger and more important than me, the shared accomplishments, the great features and information I can provide to the public, it’s all these things that make this more than a job.  That’s what switches work from vital to integral.  Money can be made in many ways.  Which ways one chooses, that’s what distinguishes jobs from passions.  FOSS is great when it is our passion.

Posted in Conferences, FOSS4G 2011 | Tagged: | 2 Comments »

What is the center line of a complex polygon?

Posted by smathermather on September 16, 2011

Sat in on a great presentation yesterday by Tim Schaub and Justin Deoliveira on GeoScript. Definitely check out their tutorials. To practice what I learned, I thought I’d apply it to the problem of how to find the centerline of a polygon.

What do I mean by the centerline of a polygon? Well in the case of a stream that is drawn with both it’s banks, the centerline of a polygon is the effective flowline. Also, if you want to label such polygons, it would be useful to be able to calculate this. This could apply to road polygons as well, or labeling complex parcels, etc. etc. At first (and second) blush, there is no trivial solution. However, there are some excellent approximations.

There are some nice articles online about the derivation of centerlines from polygonized roads, e.g. this one. The basic approach is to densify the lines (if necessary), and run a Thiessen (Voronoi) algorithm, then grab the middle line from those polygons. So, let’s start this process, and take it through at least to deriving the Voronoi result using python/GeoScript:

First our stream line:


>>> from geoscript.geom import *
>>> from geoscript.style import *
>>> from geoscript.render import *
>>> poly = Polygon([(2130394.00006841,633268.4901058), ...
,(2130394.00006841,633268.4901058)])

Then to view it quickly:


>>> draw(poly, format='mapwindow')


Maybe fly with a little style:


>>> style = Stroke('blue', width=1) + Fill('#0000ff', opacity=1)
>>> draw(poly, style, format='mapwindow')


Ok, now that’s a complicated enough polygon. What do we get from calculating a Voronoi diagram against it?:


>>> polyv=voronoi(poly)
>>> draw([polyv, poly], format='mapwindow')

See the centerline running through the stream? It’s not perfect, but apply some densification before we calculate the polygons, then select only that centerline, and Bob’s your uncle, you have a very nice stream centerline for flowline calculations, labeling, what have you. In future steps, I’ll set this up to extract that line as well, and perhaps host it as a WPS service on GeoServer. If I can (I’m not sure the limitations to GeoScript, have to bug the GeoScript guys today…), I’ll also use it to extend the labeling capabilities for my GeoServer instance without having to dig deep into Java development. Ah, I do love a good API.

Posted in Conferences, FOSS4G 2011, GeoScript, GeoTools | Tagged: , , , , | 8 Comments »

 
Follow

Get every new post delivered to your Inbox.

Join 645 other followers