2. On the Menu: Appetizer: 2010 Municipal Census Salad Course: Business Licensing Main Course: Fire Services 9-1-1 Dispatch Dessert: Questions? (you’re all on a diet)
4. Appetizer: 2010 Municipal Census The challenge for the kitchen: City-conducted municipal census All residences within City boundaries First on-line census No previous spatial census-base layer available No spatial address point layer available No single address database available All residences require a secure PIN number All residences will be mailed their PIN number A complete residential address listing is required
6. Desired Outputs Primary and secondary PIN numbers for each address A mail merge database including postal codes and PIN numbers A list of addresses requiring in person PIN letter delivery A list of addresses requiring institutional enumeration A final GIS census polygon landbase including assigned PIN numbers
7. Finding the Right Recipe The goals for the PIN numbers: No less than 5 characters long No more than 8 characters long Primary and secondary PINs No duplicate PINs Repeatable method No confusing characters (e.g. 0 vs O)
8. Trial 1: Using Existing Info The City of Airdrie did it so why can’t we? Available Info: Street names Legallot ID numbers Centroid X/Y coordinates Neighbourhood names Strip them down, mash them together, in short make an unproductive mess…
9. Sampling Ingredients 1. Input Landbase 5. Generate random 9-digit number 2. Fetch CentroidCoodinates 6. Generate single random number 3. Trim off decimal places 7. Extract first letters of street names 4. Replace decimal
10. And It Tastes Like? Ummm…best not to be sampled: Generated duplicates Complicated at best Seemed like it would take more work than it was worth to get it to work Like Plan B would be better: why use existing ingredients when you can just create some tasty new ones?
11. Plan B: Just Random Use individually generated random numbers that match the ASCII character designations for capital letters A to Z. Stick with just letters instead of mixing in numbers Generate 7 individual letters Combine in order for the initial 7-digit PIN Recombine to create an 8-digit PIN Little chance of generating duplicates as there are now 26 choices, instead of 10, for each character
12. Appetizer: The Model 1. Generate Random Letters 2. Create first PIN 3. Check for duplicates 4. Create second PIN 5. GIS Output
17. Suite number8. Addresses for hand delivery of PIN letters (Access table) 9. Addresses for City staff enumeration (Access table) 11. Blank database for census contractor (CSV file) 10. Get rid of offending commas
18. Appetizer in Review We went with simple instead of fancy for PIN number generation. We chose to optimize our development time. We had difficulties in joining postal codes to address points in FME so ended up doing that in ArcGIS as pre-processing. Overall development time was approximately 1.5 days, including initial sandbox time. Very happy with final result.
20. Salad Course:Mapping Business Licenses The challenge for the kitchen: To map the home-based business licenses The license database is not spatial The license database is address-based We don’t have a spatial point address layer We do have a census landbase Address format structure does not match between the two databases We wish to have an automated process for producing updated business license datasets
22. Desired Outputs GIS point layer of home-based businesses Business trade name Address (full and parsed) License number License category/subcategory NAICS code NAICS code full description NAICS sector NAICS class
23. Salad Course: The Model Create address points; Match to BL data Create address join string Merge with NAICS lookup table
25. Salad Course in Review Overall development time was approximately 5 days, including initial sandbox time. Very happy with final result. Have already updated the data with the latest monthly data dump. Challenges: Understanding the tools Chaining multiple models together Parameterizing the model for flexibility
27. Main Course:Fire Services 9-1-1 Dispatch The challenge for the kitchen: 9-1-1 calls come in from Telus Telus feed has specifically formatted addresses 9-1-1 addresses must be structured to match Telus feed data as matching is automated 9-1-1 system requires address point dataset All non-relevant addresses are to be stripped Each address must have a unique ID, repeatable through each data load Addresses cannot be duplicated The City does not have a spatial address dataset
29. Desired Outputs GIS address file Shapefile format Point feature type Containing only addresses that will be referenced by Telus Containing only those fields required by CriSys Formatted to match Telus feed
30. Challenge for the Kitchen Must be repeatable Must be automated as much as possible Must be able to easily QC for duplicate IDs and Addresses Must be fast Must be flexible to deal with changing inputs
32. Building the Crust Convert polygons to points Filter out non-relevant addresses Filter out Null addresses/IDs – multiple methods required
33. Building the Crust Convert UPPER CASE street names to Sentence Case Fix McKenney Avenue (inner capital letter) Adjust spelling of key road names to match CriSys/Telus
34. Building the Crust Checking for duplicate IDs Filtering out or dealing with duplicate IDs Filter out specific addresses for replacement
35. Building the Crust Converting LegallotID value to CriSys ID Automated removal of duplicate addresses Output QC datasets for parcel addresses and duplicates
36. Making the Filling Convert townhouse polygons to points Change UPPER CASE street names to Sentence Case Fix McKenney Ave case
37. Making the Filling Filter for addresses with/without suite numbers Create unique ID numbers from LegallotID, suite and house numbers Deal with two specific problem properties Output QC dataset
38. Making the Topping Converting multi-story suite polygons to points Change UPPER CASE street names to Sentence Case Fix McKenney Ave case
39. Making the Topping Create final ID string from LegallotID, house number and suite number (when applicable) Output QC dataset
40. Putting It All Together Adding in the extra points Streaming all the outputs into a single final address point file
43. Main Course in Review This was actually our first (and most complex) FME project This is the second iteration of the model Taking the course helped in refining the model (thanks!) It’s a live model and is expected to have to constantly evolve to deal with data oddities The model is currently pretty robust Challenges were mostly related to discovering and dealing with data oddities
45. Recap and Thoughts We LOVE FME! The software is intuitive It’s also powerful and complicated It definitely meets our needs We see it playing a key role in data integration We use it from soup to nuts – everything from simple field rearranging to complex translation and integration models We see it being useful for more than just spatial information
46. Thank You! Questions? For more information: Tammy Kobliuk tkobliuk@st-albert.net City of St Albert Enter other resources