A little more than a year ago, I did a project for a left leaning political organization that had an interest in developing an automated means to create (and recreate) a national layer of election precincts to support activities like political canvasing. Click here for a more complete case study on my company’s website.
One of the basic challenges in this project was to find an efficient way to split hundreds of thousands of polygons (census blocks) using a separate, and rather large layer of line geometry – in this case, statewide commercial street data. Although I had the option to do this work with custom code in Oracle Spatial, I wanted to use Geomedia in order to avoid the Oracle customization time sink. How to do it in Geomedia? The solution is easy, but not at all obvious (at least to me). Here is the recipe I came up with:
1. Load the feature class that you want to split (in my case, census blocks), and the features that you want to split by (in my case, streets). Also, and this is important, make sure that the “Display Properties Dialog for New Features” button is unpressed.
2. Select the census blocks and initiate the split tool in Geomedia. Notice that a new toolbar appears with four buttons on it… split by point, split by line, split by polygon, and split by selected features. Click on “split by selected features”.
3. Turn OFF locatability on the census blocks layer (the layer to be split). Be sure to do this without unselecting those features.
4. Turn on locatability for the streets layer, and select the features that you want to use as a basis for splitting census blocks.
5. Double-click somewhere – anywhere – on the map window and let Geomedia do its thing. Depending on the complexity of the features that it is analyzing and the sheer number of records, it may take a little time to complete. If you didnt take my advice from step one and ignored the “Display Properties Dialog for New Features” button, then it might force you to click OK for every newly split feature.
The result in my case is census blocks seemlessly split based on a seperate layer of line work. Perfect geometry, perfect topology between features, with no slivers or gaps… a thing of beauty.