Well, I'm off to begin my student teaching, and the program is close, but not quite where I'd like it. Most of the code is in place, but there are still some bugs that I need to address when I come in here on Saturdays over the next two months.
Also, some of the data I've been using isn't as current as it should be. I'm looking for an updated dataset for Businesses and Places of Worship - all religions. If anyone knows where I might find such data, I'd love to know... otherwise I'll be doing some research and then some geocoding.
That said, again, I'm close, and this project has been a lot of fun - learning to use ArcObjects to do something custom like this is always a trip. I'll leave you with a map I was able to make with the program this afternoon:
Any feedback encouraged!
Have a great spring... I'll check in soon,
Mike
Saturday, March 22, 2008
Saturday, March 8, 2008
Tech Update: Early March Progress
Well, things weren't so smooth in general this week. Had a death in the family and my profs at DePaul are trying to kill me with papers, but I still made some improvements to the interface when I found time.
The major improvement occurred behind the scenes. I created an .ini file that stores all global variables (directories, paths, layer names). This should make it easier if I create an install package - or really if I just move it to another machine. It was a pain when I demoed for David last week, having to go into the code to change string variables manually. This file will contain all variables that are machine-specific.
I also hooked up the list boxes. Previously, Community names were coming from a flat .txt file, and the list box that will allow Dan to manually choose TMC programs from a master list were not operational at all. These list boxes read from the attribute data of the associated .shp files now. A few problems appeared this afternoon, which I will address this week. First, it takes a while to read in all values from the .shp files, so I need to create a progress bar when the tool launches. Second, I'm playing with a chunk of code that will order the attribute table prior to reading the values (to alphabetize). Haven't had a lot of luck yet.
I think that's about it this week. Oh - I played with the IMS Server data, and found nice base map/streets layers. (After a review session with ARCGis and projecting coordinate systems. Thanks again, David!)
The major improvement occurred behind the scenes. I created an .ini file that stores all global variables (directories, paths, layer names). This should make it easier if I create an install package - or really if I just move it to another machine. It was a pain when I demoed for David last week, having to go into the code to change string variables manually. This file will contain all variables that are machine-specific.
I also hooked up the list boxes. Previously, Community names were coming from a flat .txt file, and the list box that will allow Dan to manually choose TMC programs from a master list were not operational at all. These list boxes read from the attribute data of the associated .shp files now. A few problems appeared this afternoon, which I will address this week. First, it takes a while to read in all values from the .shp files, so I need to create a progress bar when the tool launches. Second, I'm playing with a chunk of code that will order the attribute table prior to reading the values (to alphabetize). Haven't had a lot of luck yet.
I think that's about it this week. Oh - I played with the IMS Server data, and found nice base map/streets layers. (After a review session with ARCGis and projecting coordinate systems. Thanks again, David!)
Saturday, March 1, 2008
ArcIMS Servers seem to rule
I spent this week working alongside an intern who came down from the University of Michigan to help Dan with a flash presentation... a quick thanks to her for playing DJ all week... heard some fantastic new music!
From a tech standpoint, I was able to make a lot of progress with the interface, hooking up the remaining layers. I took the program to Loyola yesterday to demo it for my good friend, David Goldblatt, a GIS guru with Loyola's Center For Urban and Environmental Policy group, and he gave me a ton of constructive feedback.
He then introduced me to the magic of ArcIMS servers.
In my ArcGIS training, I learned to surf the web and "steal" premade shapefiles (map layers) if I needed them. If a layer was unavailable (for instance, it's hard to find premade shapefiles for IL schools that are up to date), you have to find address data and run a process called "geocoding" whereby the software tries to match the address to its database of known streets. This is problematic for two reasons (off the top of my head). First, there are new streets and subdivisions built daily... so often the software's street data can't find a match. When this happens, you have to manually match the address to a nearby street that DOES exist in the database. This takes a lot of time. Especially if there are thousands of unmatched schools. And of course, it's inaccurate. Second, schools open and (too frequently around here) close. In the shapefile I have for instance, Al Raby High School is listed as Lucy Flower Vocational. Same building... new name... old data.
So periodically my search for geocodable address data ends up at a place like this school locator. Cool toy, but how do I get to the data behind the site? Until yesterday I thought I couldn't. Turns out, Arc Catalog allows you to link to some sites' data layers using "ArcIMS Servers"!
Why did no one tell me this before? :) Now I have access to all kinds of school data, crime data from the police, transportation data ... on and on. They warehouse the data... so they maintain and update the data too. What's more, their symbols are customized and professional-looking. This almost seems too good to be true, but for now, this is going to save my uncountable headaches (until I discover limitations!)
So that is my big discovery this week. Maybe you didn't know about this either. Maybe you have more ArcGIS tips to share with me.
And I should mention that my understanding of ArcObjects continues to improve. If anyone needs help/code, maybe I can be of assistance.
Have a great week!
From a tech standpoint, I was able to make a lot of progress with the interface, hooking up the remaining layers. I took the program to Loyola yesterday to demo it for my good friend, David Goldblatt, a GIS guru with Loyola's Center For Urban and Environmental Policy group, and he gave me a ton of constructive feedback.
He then introduced me to the magic of ArcIMS servers.
In my ArcGIS training, I learned to surf the web and "steal" premade shapefiles (map layers) if I needed them. If a layer was unavailable (for instance, it's hard to find premade shapefiles for IL schools that are up to date), you have to find address data and run a process called "geocoding" whereby the software tries to match the address to its database of known streets. This is problematic for two reasons (off the top of my head). First, there are new streets and subdivisions built daily... so often the software's street data can't find a match. When this happens, you have to manually match the address to a nearby street that DOES exist in the database. This takes a lot of time. Especially if there are thousands of unmatched schools. And of course, it's inaccurate. Second, schools open and (too frequently around here) close. In the shapefile I have for instance, Al Raby High School is listed as Lucy Flower Vocational. Same building... new name... old data.
So periodically my search for geocodable address data ends up at a place like this school locator. Cool toy, but how do I get to the data behind the site? Until yesterday I thought I couldn't. Turns out, Arc Catalog allows you to link to some sites' data layers using "ArcIMS Servers"!
Why did no one tell me this before? :) Now I have access to all kinds of school data, crime data from the police, transportation data ... on and on. They warehouse the data... so they maintain and update the data too. What's more, their symbols are customized and professional-looking. This almost seems too good to be true, but for now, this is going to save my uncountable headaches (until I discover limitations!)
So that is my big discovery this week. Maybe you didn't know about this either. Maybe you have more ArcGIS tips to share with me.
And I should mention that my understanding of ArcObjects continues to improve. If anyone needs help/code, maybe I can be of assistance.
Have a great week!