Tuesday, December 11, 2012

GIS 4930 Final Group Poster

Here is our final Group Poster that we created as a team

http://students.uwf.edu/dj11/Group2PosterFinal.pptx

And here is a screenshot if that link is broken:


And here is the research that I contributed to the project:

http://students.uwf.edu/dj11/DRJ_SkyTruth_Report_PS.docx


I was lucky to work with a great team and under the leadership of Ray, I think we compiled a great poster.

Friday, November 30, 2012

SkyTruth - Analyze Week

This week we continued our work on our Mountaintop Removal project for SkyTruth.  Our goal this week was to clean up the data by setting the following parameters:

To be considered as an MTR area it must:
1. Be larger than 40 acres
2. Must be farther than 50 meters from roads and rivers
3. Must be farther than 400 meters from Major Rivers and Highways
4. Must Intersect with Mountain Ridges

In order to complete this phase of the project, we had to use several ArcGIS Tools and techniques including:
  • Raster to Polygon tool
  • Various Selects (By Location and Attribute)
  • Feature buffering
  • Overlay erasing
  • Multipart to SinglePart conversion
  • Calculate Geometry
  • Creating Random Points
  • Data Editing
  • Accuracy Checking
  • Packaging and Delivery
So in a pretty compact lab, we really got to showcase some of the tools we have been learning not only in this class, but the other classes as well in our UWF curriculum.


SkyTruth - Prepare Week

This week's assignment involved a few tasks to help analyze an area to determine where Mountain Top Removal Mining might be taking place.   This data would be used by SkyTruth.org to empower environmental activism.

Some of the skills needed for this project included:
  • Combining Landsat bands to get a multi-band image
  • performing unsupervised classification using ERDAS Imagine
  • Classifying images of different spectral values
  • Manually reclassifying and recoding imagery in ArcMap
It is important to note that this is a multi-week project, so a lot of the "noise" that you see around rivers and roads in this first pass of the analysis will be eliminated in future steps by buffering them out.



Monday, November 19, 2012

Data Sharing Issues

Some common problems in the sharing of GIS data among individuals and organizations include:
·         Silo vs. Enterprise approaches
·         Free vs. Fee Base information sharing
·         Data Gatekeepers vs. Data Access Facilitators
·         Agency Needs vs. Surrounding Entities
·         Data Sharing Agreements vs. informal arrangements
·         Outsource GIS Data Sharing Functions vs. In-House
·         Data Standards
·         Quality of Shared Data

(These are all paraphrased from the URISA article here: http://www.urisa.org/files/Issues%20in%20GIS%20data%20sharing.pdf )

From a real world perspective, some of the problems I have witnessed when it comes to sharing data include:

·         Storage Issues – Some of the data can be very large and this requires external hard drives to be swapped by agencies.   Sometimes it is hard to remember whose drive you have sitting on your desk if you don’t label everything properly.

·         User Levels – We may work from everyone from the non GIS user all the way up to USGS experts in a single day.   You have to be able to deal with different skill levels from the people that you work with.

·         Tools – Not everyone has the same version of ESRI ArcGIS software that we have.   You have to be able to distribute the shared data in alternate formats (KML, XML, and even printed copies if that is all their skill set will allow)

·         Repeat Requests – Our GIS staff would repeatedly get requests for the same data from separate parties.   This called for the creation of a basic GIS library available from our web site which contains these files for download.   You can see this site here:   http://www.srwmd.state.fl.us/index.aspx?NID=319

·         Disclaimers – Whenever working with data that is shared with the public, it is important to provide disclaimers about how the data should (and should not be used).    For example there was some confusion with terms like (100 year flood event).   People thought that meant the event would only happen once every 100 years, so if an event happened 3 years ago, they were in the clear for 97 more years.   This simply wasn’t the case.    Like a lot of things, managing expectations is a priority.
 

LiDAR & Hydro - Report Week

Description of Data:

This MXD contains two important aspects.   The DJ_Group2_Stream feature was calculated using a DEM and the ArcHydro Tools (Fill, Flow Direction, Flow Accumulation, Con, and Stream to Feature).   The DH_Group2_basin data goes one step farther to run the "Basin" tool to delineate drainage areas in the raster.

In the zip file you will find:
  • DRJ_Group2_Deliverable.mxd - An ArcGIS Map
  • DJ_Group2_GeoDB.gdb - A File Geodatabase conatining key data for the project
The MXD will contain 2 Layers that display the data from the GeoDatabase:
  • DJ_Group2_stream - Stream files created using ArcHydro Tools in ArcGIS
  • DJ_Group2_basic - Basin files created using ArcHydro Tools in ArcGIS

Data Location:

Here is a link to my files for this week's Lab Data:

               Zipped Copy of Lab Files

Data Instructions:

In order to use the data on your computer, you will need to take the following steps:
1.  Make sure you have ArcGIS 10.1 (or newer) on your computer
2. Download the zip file
3. Unzip the file into its own directory such as    c:\MyFiles\
4. Open the MXD file in ArcGIS

Notes of Interest:
On this assignment, we had a couple of students have trouble with the CON tool.   I did some research and found an article that explained that it could be a problem using an underscore in the naming convention of the Input Raster.    This tip seemed to help several classmates and it felt really good to help one another in that instance.


Monday, November 12, 2012

Module 10 - Supervised Classification

Here is my Map for this week's assignment to use supervised clasification.   I am not thrilled with my results (notice all the white spots on the Distance inset) but we all have to start somewhere !

GIS 4930 - LiDAR & Hydro - Analyze Week

Here is my map for this week's assignment which used ArcGIS Hydrology tools to determine where streams and rivers are found in our study area.

Friday, November 9, 2012

GIS 4930 - LiDAR and Hydro - Prepare Week

Here are my results from the Lidar and Hydrology Prepare Week Lab for GIS4930. 
 
First up is a 2D Profile of a hillside in the Charleston WV area.   The different colors represent different elevations:
 
 
 
Next up we can see a 3D view of roughly the same area.  This was created with the LAS Dataset 3D View tool in ArcGIS.    
 
 
 
Last we can see a map of the general area that is using a Raster created from LIDAR.   This particular map used the LAS Dataset to raster tool with the minimum elevation selected for the cell assignment.   This gives a close approximation of bare earth terrain.
 

Friday, November 2, 2012

GIS4035 - Lab 9: Unsupervised Classification

GIS4035 - Lab 9: Unsupervised Classification

Here is my map for this week's lab about Unsupervised Classification.   In this lab we learned to work in both ArcGIS and ERDAS to classify and recode images to simplify data.

Tuesday, October 30, 2012

GIS4035 - Lab 8: Thermal & Multispectral Analysis

GIS4035 - Lab 8: Thermal & Multispectral Analysis

Here is my map for this week's assignment.   It shows how you can use ETM+ Thermal data to detect hotspots such as fires.   Also inclded a second view which backs up the termal data by showing the smoke generated by these fires.


You can see similar hotspots and smoke in the lower part of the map that I kept unlabeled so that you could see them more clearly.

Saturday, October 27, 2012

GIS 4930 - Web Applications - Report Week

GIS 4930 - Web Applications - Report Week

This week, we wrapped up the last 2 projects (Web Applications) into several useful Tools.

These include, and embedded presentation:



View Larger Map

Be sure to "View Larger Map" when looking at this.

And an Online Web Application:    Online Web Application


And if the text labels look unruly, you can also see this in Explorer mode by using this link:

http://www.arcgis.com/explorer/?open=a4d1a2efdbcd4bc4b10701359d307d2d&extent=-13631325.3718604,4540931.16891003,-13625480.3073334,4544564.4876053


This project involved using tools in ArcGIS.COM's suite of tools.  These include ArcGIS Explorer Online and the ArcGIS.COM Map Viewer.    It also involved using a shared Google Doc for a CSV file.

Wednesday, October 24, 2012

Lab 7: Multispectral Analysis

Lab 7: Multispectral Analysis

Here are my maps for this week's assignment that were created in ERDAS Imagine and ESRI ArcGIS




Friday, October 19, 2012

Project 3: Web Applications - Analyze Week

Project 3: Web Applications - Analyze Week

Here is my interactive map for Bicyclist and pedestrian safety in the San Francisco area.   You can see Google Street views when you click on a Bike Rack Location.    You can also edit the Bike Rack List by editing this document :   Link to editable Document     You can also view the legend, change the basemap, or search for an address.


View Larger Map

Friday, October 12, 2012

GIS 4944 - Dream Jobs

GIS 4944 - Dream Jobs

I use the GIS Jobs clearinghouse website to try to stay inspired to keep learning new skills: http://www.gjc.org/gjc-cgi/listjobs.pl
My current dream job would be classified as a GIS Developer. An example of the skillset I am trying to develop is listed in this job (but not keen on the fact that it is in the Cayman Islands) http://www.gjc.org/gjc-cgi/showjob.pl?id=1349894170 What have I been doing to prepare for this type of career? Well in addition to the UWF GIS Certificate class I have been developing my programming, database, and GIS skills during my day job. I also have built up a library of books on related technologies that I plan to dive into after the semester has finished. In particular, I want to really learn HTML5, CSS3, JavaScript and Python more in depth. I also want to keep improving my current skills in SQL Server and Visual Studio. I am also volunteering at a local not for profit agency that will give me a great chance to boost up my GIS Programming skills. Again, I will really have more time to invest in this once school winds down.

 

Lab 6 - Spatial Enhancement

Lab 6 - Spatial Enhancement

This week's lab addressed the issue of removing (or minimizing) striping that may be present in Landsat Imagery.   This lab used tools by ERDAS and ESRI to performe these tasks.   You can see a highlight of what it looked like before and after on this map:

Web Applications - Lecture Assignment

Web Applications - Lecture Assignment

The interactive map I chose to highlight is the campus map of my Alma Mater FSU.

The map can be seen here:  http://map.campus.fsu.edu/index.aspx

What I like about it:
  • Much more efficient than the way I had to navigate the campus oh so many years ago as an incoming freshman.   We would walk around the campus with our fold-out maps looking like quite the tourist.
  • Multiple levels of zoom with "rollup" detail
  • Street View enabled
  • Ability to show bus routes and dining options
  • Good links to useful external related sites
I imagine the incoming Freshman now walks around the campus with their iPads and this map (still looking like a tourist, but a modern tourist!)


Web Applications - Prepare Week

Web Applications - Prepare Week

This week we looked into some of the Online tools that ESRI offers for GIS.   I personally think these are the future of GIS as they allow interactive information sharing with members of the public that don't have special GIS software.

In this map you can see an Evacuation Zone and a route from Tampa General to Tampa Memorial.   You also see push pins that you can click to see more information about the hospitals.   You can also pan, zoom, change base map, and even find an address.


View Larger Map

Monday, October 8, 2012

Network Analyst - Report Week

Network Analyst - Report Week

Here are my two favorite maps from this week's assignment.    They are both driving directions broken out to multiple parts.  Their purpose is to direct staff to shelters.   There is also an extent overview on both which shows the footprints of the maps.


Monday, October 1, 2012

Project 2 : Network Analyst - Analyze Week

Project 2 : Network Analyst - Analyze Week

In this week's assignment, we used Project Analyst to create multiple routes based on emergency conditions.   We also created service areas that would let Tampa Bay residents know which shelter they should use in the case of a hurricane.

Here is my map for this week:

Sunday, September 30, 2012

Lab 5a - Intro to ERDAS

Lab 5a - Intro to ERDAS

This week's lab introduced us to the ERDAS Imagine software.   This is a very powerful piece of sofware that we will use through the remainder of the course to better understand remote sensing.

This week we took some of the data we worked on in ERDAS, exported it out to ArcGIS and created this map.

Friday, September 21, 2012

Ground Truthing

Ground Truthing

This week, we took the data we collected last week and used Google Street view to "Ground Truth" it to perform an Accuracy Assessment.   On this map you will see where the green dots are, the Google Street view matched my classification.   The red dot indicate places where my map differed from what I saw in Google Street view.  

Network Analyst - Prepare Week

Network Analyst - Prepare Week

Here is my base map that I created for this week's assignment.   This map will be used for follow up studies of the Network Analyst tools in order to help prepare and evacuation route for the Tampa area in the event of a hurricane.   Based on the ESRI samples I looked through while preparing for this assignment, I can tell that I will really enjoy the Network Analyst tools.

Thursday, September 20, 2012

GIS4035 Photo Interpretation and Remote Sensing Lab 3

Here is my map showing the Land Use and Classification of a study area.   This project taught me some good tools for data editing within ArcGIS.   This particular map only addresses Level I and Level II classifications.   It is easy to see how the complexity grows as you go deeper into subcategories....

Wednesday, September 12, 2012

Special Topics in GIS - Lab 2 Statistics -Analyze

This week's assignment involved doing some statistical analysis on the data we put together last week in relation to meth lab locations.  We used Ordinary Least Squares Regression which was a first for me.   I am not sure I mastered it, but hopefully I'll get some good feedback on my assignment to learn more about this powerful tool that GIS users have at their disposal.

For the blog, we are asked to post our OLS Results table and StdResiduals Map.   Here they are:



Friday, September 7, 2012

Remote Sensing - Module 2 Lab

In this week's lab we had to create 2 maps.   The first map was a study in Tone and Texture.   You can see the different intensity levels in both tone and texture in this map:

 
The next map looked at identifying features based on shape/size, shadows, patterns, and associations.

Thursday, August 30, 2012

GIS 4930 Project 1 - Statistical Analysis with ArcGIS


For our first project of this new semester, we will be looking for information to help law enforcement determine potential hotspots for meth activities.

Or task this week was to create our Base Map of the Study Area, as well as generate outrIntroduction/Background information.   We also had to do a Process Summary and provide the results of that work. 

Here is my base map:


Here is Section 3 of my Process Summary:

Prepping the Census Data: Programming with Python
Include notes in this section about how and why to prepare your script in python.
1) Added the CensusTracts data to a new MXD
2) Opened the attribute table
3) Added field pcntPopGro as Float
4)  Used the field calculator to set this to (( [POP2010] - [POP2000]) / [POP2000]) * 100
5) Added field pcntWhite as float and used field calculator to set it to ( [WHITE] / ( [WHITE]+ [BLACK]+ [AMERI_ES]+ [ASIAN]+ [HAWN_PI] + [OTHER] + [MULT_RACE] + [HISPANIC])) * 100
6) Added field Roomates as float ans set to be( [HOUSEHOLDS] - [HSEHLD_1_M] - [HSEHLD_1_F] - [MARHH_CHD] - [MARHH_NO_C] - [MHH_CHILD] - [FHH_CHILD])
7) Next we opened up the AddCalcFieldsShell.py script in IDLE
8) Set my workspace to point to S:\GIS4930-GISSpecialTopics\Project1\Project1Data.gdb so the whole line is :   env.workspace = r'S:\GIS4930-GISSpecialTopics\Project1\Project1Data.gdb'
9) Prepared the last 5 lines as follows:
# pcnt40_49
arcpy.CalculateField_management(censusFC,"pcnt40_49","([AGE_40_49]/[POP2000])*100", "VB")
# pcnt50_64
arcpy.CalculateField_management(censusFC,"pcnt50_64","([AGE_50_64]/[POP2000])*100", "VB")
# pcnt65_UP
arcpy.CalculateField_management(censusFC,"pcnt65_UP","([AGE_65_UP]/[POP2000])*100", "VB")
# M_F_Ratio
arcpy.CalculateField_management(censusFC,"M_F_Ratio","([MALES]/[FEMALES])", "VB")
# pcntUnEdu
arcpy.CalculateField_management(censusFC,"pcntUnEdu","([NotHSGrad]/[EduPop]) * 100", "VB")
10) Saved the MXD, closed ArcGIS and ArcCatalog then ran the script.
11) I had one typo in my script so fixed that and reran it.
12) Opened up ArcCatalog to make sure it looked right.   I wasn’t sure if we needed to multiply by 100 on the male female ratio since it is a ratio rather than a percentage.    I decided I can always multiply by 100 down the road if the lab leads me that way.
13) Looks like all fields were created and populated


Part 2: Join Meth Labs to Census Blocks
Include notes in this section about how and why it was important to join the meth lab and census data. Explain any edits you had to make to the data.
1) Opened up my MXD Again
2) Opened the Spatial Join tool from the Analysis toolbox
3) Verified results
4) This created CensusTract_SpatialJoin layer which has the Join_Count field in it
5) Created a new field called LabDensity as type Float
6) Set this using Field Calculator to equal [Join_Count]/ [SqMile]
7) I found the properties page to be an easier way to toggle fields on and off:

Thursday, August 9, 2012

GIS 4048 Final Project Presentation

For my Final Project, I chose to use GIS to help decide where to place a new dog park in Leon County, Florida to best serve the population.

For this project we had to create a Process Summary, a PowerPoint Presentation (along with supporting maps) as well as a Slide by Slide summary in PDF form.

Link to Slide by Slide Summary

Link to PowerPoint Presentation

I experimented with ArcGIS Explorer Online for Extra Credit, but was unable to get the presentation to a point where I was happy enough with it to turn it in.   The Raster files especially were giving me trouble and I had too much extraneous things going on to dive into it any deeper.  


Friday, August 3, 2012

Module 8 - Cursors....

My Ever-Growing GIS/Programming Library
This module was an excellent view of cursors.   Cursors are essential to the toolbox of any programmer that works with data of any sort.   I was surprised to see the similarities in concept to the T-SQL environment of Microsoft SQL Server.

Notes to Future Self:
  • When debugging, remember not only to look at the line(s) of code where you THINK the problem is, but also at other lines that may execute.  I ran into a problem where I was convinced that the UpdateCursor just wasn’t working and then I went back a few lines and saw that my “query” was limiting the results that the operation was running.

  • When debugging, it is helpful to comment out lines and re-add them in smaller quantities to focus in like a laser on the area you are concerned with.
  • Also when debugging, remember to try various ways of running the program… PythonWin, IDLE, and by double clicking the script.   Insight might be gained from each one of these attemps.
  • Don’t reinvent the wheel…   The ArcGIS Online Help is GREAT on each command, including code snippets that might help as well.   Also, be sure to be competent at using your search engine of choice to look up both arcpy as well as general python fixes to get around any issues you are experiencing.

Saturday, July 28, 2012

Module 7 - Listing Tools

This week’s lesson taught us some skills that will prove to be essential to our success in the real world. We learned how to formulate our approach to creating a solution by asking some questions about the problem. 
We learned skills such as path manipulation, DESCRIBE methods, Listing tools, Usage methods, and even learned how to check and toggle license usage.
Notes to Future Self:

  • When struggling with one of the tools try it in different editors to get further hints.   I had problems with the ExtractByMask function in Python Win, and couldn’t figure out why it would work in the Interactive and even in IDLE.    Turns out I needed to have my Scratch workspace defined.   Once I match my code to have the same scratch as my ArcGIS environment variable had, it was much more reliable.
  • Use the Online Help.   When working on a tool it is great to use the online help to grab code from.   No need to reinvent the wheel if they already have a working version of it.
  • When you get frustrated, walk away for a bit…   You’ll be surprised when the idea comes to you (hint: it usually isn’t when you are conveniently near a computer….)
  • Break down tasks to their simplest elements.   When working with the ExtractByMask, I ended up having to create a separate Python script to try to use just the bare minimums to get the function to run to a hard coded file.    I took the lessons learned here back to my assignment.
  • I found this assignment to be great system for using the data that we learned in the exercises.   I struggled at points, but kept at it and was able to finally make the program work.   That is tough to find assignments that are tough, but not impossible and I think this week was a good example of the challenge level that the assignments should present.
  • One problem I had with the lab was on page 3 where it asked us to save a raster out to the GDB with a period in the file name.   I was unable to do this, so just left the .TIF of the file name.

Saturday, July 21, 2012

Urban Planning: Location Descriptions

This week's assignment helped us use criteria provided by a couple to determine the optimal choice of neighborhood to live in when moving to Alachua county, Florida.    We were tasked with providing 3 maps, a basemap, a map showing the 4 criteria (proximity to hospital, proximity to UF, percentage of population between age 40-49, and median house value), and a final map which took these multriple considerations into account.





Process Summary

From the “Step 4: Analysis” major section, include your process for Steps 7 and 8 (weighted analysis).
1) Saved my Location2 as Location3.mxd
2) Removed all data frames (Adding a new frame and importing the Projection information first)
3) Added the 3 feature classes that we created in the previous section to the MXD (hosp, school, rightage, and value)
4) Cleaned up the symbology for these layers
5) Started Model Builder
6) Added the 4 feature classes to Model Builder
7) Added the Weighted Overlay tool to the model
8) Connected the 4 feature classes to the Weighted Overlay box
9) Answered Q13
10) Answered Q14
11) Answered Q15
12) Answered Q16
13) Made sure the scale was set in the correct (reverse) order
14) Note: when reordering the scale you have to be sure that it doesn’t retain the last value rather than replacing it with the first value.
15) Gave each feature class a 25% weight
16) Gave the output the name WEIGHT1 and stored in the GeoDatabase
17) Ran the model
18) Added Weight 1 to the display and closed the model
19) Added Places to the mxd
20) Added Sel_tracts and made hollow
21) Added the school and hospital to the project and symbolized accordingly
22) Selected the three best areas that met the criteria and exported them out as Weight1Best3
23) Set up my model with the revised parameters making sure that my scales were set properly.
24) Set up the map layout
25) Answered Q17


Sunday, July 15, 2012

GIS Programming - Module 6 Assignment

I am still polishing some of the code required for this week's assignment, but wanted to go ahead an make my blog posting about some of the "Lessons Learned"

PART III: Module Summary
Write a summary of what you learned this Module. Try to come up with specifics from each exercise and assignment. List any problems (and fixes) you encountered, and any other notes you feel would be helpful to your ‘future-self’. Post this summary to your blog.

Lessons Learned:
Exercise 6a:
  • It is important to understand the pros and cons of relative and absolute paths (especially in terms of sharing your data with others)
  • Relative paths cannot span multiple drives
  • Absolute paths work best on static data
  • Relative pathnames work best when sharing data (remember you have to provide the data as well!)

Exercise 6b:
  • You can effectively share data with others by proper directory planning and relative paths.

Exercise 6c:
  • It is common to provide users with the tools and scripts in addition to the data
  • A recommended folder structure should have a data, scripts, scratch, and docs subdirectory
  • Getting messages out to the results window can be done with the arcpy.AddMessage() function
  • The ArcGIS tools have a section of their help documentation dedicated to sample code snippets
  • Password protection of embedded code is a great feature to help programmers maintain intellectual property (or keep the so called “power users” from messing up your code then entering a help desk ticket, but I digress….)

Exercise 6d:
  • Packaging data to deliver to clients is pretty straightforward in ArcGIS 10.x
  • You can use the Consolidate Map tool (which stores the references to data)
  • You can use the Package Map tool (which stores the data itself).   Think of the benefits of this when you are in the field with a laptop 20 miles from the nearest cell phone tower….

Assignment
The assignment felt like the real world kinds of things I need to do every day which is:
  • Understand the assignment
  • Research the tools
  • Struggle through a couple of false starts
  • Have that “a ha” moment where things start clicking

Saturday, July 14, 2012

Urban Planning - GIS for Local Government

This week's multipart exercise had a lot of interesting aspects to it.   Having been around offices that have dealings with parcel information, I can vouch for the usefulness of this type of knowledge.

Without further delay, here are some of my maps from this week's assignment:



Process Summary:
OBJECTIVE 2:
1) Created a new blank MXD and saved as Parcels.mxd
2) Added the Parcels Feature Class from the results.gdb
3) Looked at the attributes and noticed the owner names are missing.
4) Opened the CSV in Excel and deleted the last column since it is unsupported.
5) Saved and closed the CSV
6) Added the CSV to the map
7) I had some problems on my join until I renamed the PARCEL field in Excel to PARCELID.  Then my join seemed to work properly.
8) Exported my join out to the Results.gdb as Parcels_Join
9) Selected the key parcel by attribute and exported it as Zuko_Parcel to the Results.gdb
10) Did a select by location to choose all the parcels that intersected our parcel.  Answered Q10
11) Exported these out as ADJ_Parcels
12) Added the zoning feature class
13) Clipped the zoning feature class to the adjacent parcels
14) Created the Parcels_Zone feature class by using the Intersect tool
15) Anseered Q11
16) Added a MAPKEY Field to the table and set it to be the same value as the OBJECTID_1 field
17) Having a problem because when I intersect the Adjacent Parcels and the Zoning, I end up with 25 features instead of 9.   Most of the excess are small slivers where the polygons don’t quite match up.
18) I was able to get around this in an unusual way.   I created a JOIN on my Adjacent Parcels with the Parcels_Zone feature class using the MAPKEY field.   This gave me the ZONING info I needed.   Not sure if this was the best approach overall, but it worked in this case.
19) Update, it didn’t work in this case.   The zoning appears to be wrong
20) I finally had to move past this problem by setting a tolerance of 5 feet which returned 10 records (Two for parcel 9)    I deleted the smaller of these parcels to get down to my count of 9.    Still not sure why this was the case, but needed to move on.
21) Added all my required map elements to prepare for deliverable
OBJECTIVE 3:
1) Saved the MXD as Zoning_DDP to start next section
2) Ran the Grid Index Features from the Data Driven Pages part of the Cartography Tools and got my 24 results
3) Ran the Select by location to weed these indexes down to 12
4) Exported these records out to a Zoning_Index table
5) Added my zone descriptions to the table
6) Created a new Data Frame to separate the index from the content
7) Added the Data Driven Pages toolbar
8) Ran the Data Driven Pages Setup wizard
9) Added the Page number Dynamic Text
10) Added the locator map and set the properties to see which section we are currently working on.
11) Added dynamic text for a few fields
12) Added my Required Map Elements
13) Exported out to a PDF for all 24 pages.
14) I noticed that it changed the settings on my scale bare from .1 to .11 which I don’t like.   Not sure how to fix this problem unfortunately.   I look at my original document and it still shows .1

Sunday, July 8, 2012

Urban Planning - GIS for Local Government: Participation Assignment

Part I - Research Local Property Appraisal Services

Q1:  Suwannee County Florida has a Property appraiser site at:  http://www.suwanneepa.com/

Q2: Due to the recent flooding and the limitations of a smaller staff, they most recent historical data seems to be March 2012 (For the month of February) rather than June.    The highest selling point of a property was $ 756,000.    The previous sales price was for $1,000,000 in 2005

Q3: The assessed land value is $201,480   You can click on the Tax estimator to see that the taxes are all paid up (and pretty reasonable)


Q4: It is interesting to see the decline in price since 2005.   I also don’t understand enough about how the Taxable values work.   Even though the property still sold for over 3 quarters of a million dollars, the “Land Value” s only at $201,480 and the “Taxable” value is at $24,039.


Part II - Mapping Assessment Values

Here is my map for this participation assignment:


Question 1:

The beauty of this method of showing parcels is that you can see several parcels that stand out from the rest.    If I had this data in front of me, my first wuestion would be about the blue and green parcels.   You mentioned in the assignment that these are lands that are not available for development.    After ruling those out, by next question would be on :
  • Yellow Parcel: Ref No 071S312000001001  - Whis is the land value only $24,700 ?
  • Red Parcel: Ref No 071S312000013001 – Why is ths land value $33,250 ?
  • Shouldn’t they match the majority of the other parcels which value at $27,075 ?
  • After I answered the question on these, I would look at all the parcels that were light orange (5 of them).  Why is their value $24,983 vs the $27,075 of the majority of the neighborhood.
There may be a very good answer for these questions, but the point of the exercise is to show how it makes the review process much easier.

Saturday, July 7, 2012

Module 05 - Debugging and Troubleshooting Python Scripts 

Summary:
I found this week’s assignment to have a lot of relevance in the “real world”.    The majority of the code you write will not work properly the first time you run it.   This is where your ability to debug and correct the course of the program is your most valuable asset.  
This week we learned several valuable skills towards that goal:
·         Benefits of using IDLE or PythonWin in different situations to improve debugging.
·         Identifying some of the most common errors and how to troubleshoot them.
·         The importance of indentation (and the difficulty in tracking down bugs related to indentation)
·         How to use the Alt-G command to jump to a specific line number to debug (very useful!!!)
·         How to use PDB to see behind the scenes.
·         How to use breakpoints and watches to better understand what is going on in your program.
·         How to understand the error messages that ArcGIS will display.
·         The use of some arcpy funtions like GetMessageCount() and GetMessages()
·         How to use Python to Programmatically buffer a point using the Geoprocessing tools.
I think you could attend an entire semester on this phase of the programming process and still not know all there is to know.   I have found that the ability to debug code is one of the most important skills you have as a programming professional.   It gets even more difficult when you have to debug code that someone else wrote.  
I picked up a couple of good books that might help the people in this class learn a bit more about ModelBuilder and Python.
They are :
Getting to Know ArcGIS ModelBuilder – by David W. Allen  ISBN-10: 1589482557

And
A Python Primer for ArcGIS by Nathan Jennings -  ISBN-10: 146627459X

In particular, I really like the David W. Allen Book.

Wednesday, July 4, 2012

Homeland Security: Protect

Our assignment this week was to make several maps concerning the security of the NORAD facility.  We were also asked to post one of our maps here with a brief description:

This is my map for the Heliport location near the facility.

Here are some key steps from the Process Summary:

III. Site surveillance Locations around Critical Infrastructure
i. Generate Hillshade
1. Created a new MXD
2. Turned on the 3D Analyst Extension
3. Turned on the 3D Analyst Toolbar
4. Added the Elevation DEM
5. Ran the Hillshade 3d tool with Azimuth 270 and Altitude 39
6. Added the Orthoimagery data layer and set the transparency to 60%
7. Saved the MXD
8. Launched ArcCatalog
9. Created the DJ_Surveil_pts shapefile
10. Added to my MXD
11. Change symbology to a 12 point red triangle
12. Restored the Orthoimagery transparency to 0
13. Started editing the DJ_Surveil_pts shapefile
14. Added about 13 points to the MXD and saved edits
15. Saved the Map
ii. Generate Viewshed
1. Selected Elevation in the 3D Analyst Toolbar
2. Zoomed to the extent of the DEM and turned off the Orthoimagery
3. Set the input raster to the DEM, and the DJ_Surveil_pts shapefile as the observer features
4. After the viewshed ran, set the transparency level on it to 50%
5. Turned on the Orthoimagery and zoomed to its extent
6. Mode of my imagery was covered by a green area which meant line of site was good.
7. Added a field to the shapefile called OFFSETA
8. Edited the shapefile and used the calc tool to set this new value to 10 for all 13 points.
9. Ran the new viewshed to DJ_viewshed10
10. You can see with this new viewshed that more area is available to see.
iii. Create line of sight
1. Turned off all layers except viewshed10, Surveil points, and Orthoimagery
2. Created several line of site points
3. Saved my map
4. Selected one of my lines of sight elements and used the “Create Profile Graph” to show the line of sight
5. Changed my titles on my graph
6. Exported graph and added it to the layout to produce my next deliverable.

v. View 3D line of sight
1. Started ArcScene
2. Added the elevation data
3. Added the Orthoimagery data
4. Opened the Base Heights tab
5. Set to “Floating on a custom surface” and chose the DEM
6. Zoomed to the extent of the OrthoImagery.    A little slow give the remote connection but VERY cool !
7. Went back to ArcMap without closing ArcScene
8. Copied and pasted my line of sight to get a 3D view of the visibility data that we generated.
9. Exported out to JPG
10. Started cleaning up my deliverables for submittal

Saturday, June 23, 2012

Module 4 - Review of Python Syntax

Greetings fellow Argonauts,

This week’s assignment was a very good overview of some of the critical Python skills we will need to improve to (eventually) become GIS Development Masterminds.  I am lucky enough to have a background in programming and can imagine that if you had never programmed before, that these exercises might be difficult and frustrating.   All I can do is to tell you to hang in there !   Completing a project (in the real world as in a class) is all about iterative problem solving.   Rarely will something work the first time and it usually will take some research time to solve the problem (Thanks Google!).  Trust me, your programming skills WILL improve with each problem that is placed before you.   Your mind may not be used to thinking like the computer so it is almost like a workout at the gym for your brain.   At first you won’t be able to do much, but with persistence, you will amaze yourself (and your coworkers).   So hang in there, use the message board, use the Internet, talk to others you know that might be struggling with similar problems.

Now on to what I learned this week:

1.      I REALLY prefer Python WIN over IDLE.    I leaned on the copy/paste and find/replace functionality heavily, especially during the 4th assignment

2.      You should familiarize yourself with some of the basic Python functions.  One of the things I’ll do when I learn a new language is look for a Python Quick Reference or Cheat Sheet that gives me a list of the basics.

3.      Lists are a very useful data type that I wasn’t really familiar with from my other programming languages.  I can foresee them being very useful in ArcGIS when we start thing about layers, features, etc...

4.      Some of the skills you are learning in this class are going to help you learn other languages (if you choose to go that path).   The “import module” for example and the “.” Hierarchy of functions is in several languages

5.      You WILL see CSV files in the real world quite a bit, so that lesson is very useful.

6.      Reading and Writing to text files is also a very valuable skill that will come up quite a bit in your development duties.

7.      Loops are another great place to use a cheat sheet to remember the format (although the indentation format Is kind of growing on me)
 

Preparing MEDS

This week's assignment was about MEDS (Minimum Essential Data Sets).    Our task was to put together some critical data for NORAD.    Here is a screenshot of my layers at the completion of this assignment:

Thursday, June 21, 2012

Participation Assignment

The article I choose to report on concerned the Ogden, Utah Police Department’s use of GIS technology to improve their ability to handle the “suppression, detection, and investigation of crime”.  The Department has created what they call a Real Time Crime Center (RTCC).   This system is the result of over 10 years of improvements.  

The goal of their project was to maximize the efficiency of their staff of 144 sworn officers in their community of 85,000 residents.   In the past they had used the ESRI line of products to analyze their criminal incident information, but it wasn’t until 2008 when they started deploying what they call “significant enhancements”.  These included dynamic hot spot mapping (which shows the intensity levels of criminal activity spatially), improved web access (making the information easier to retrieve for its officers), and Automated Vehicle Location (which allowed them to see the location of all their vehicles in real time).  Another technology they embrace is from an ESRI Partner is called “Pictometry”.    This allows their staff to look at aerial imagery not only from the top-down view, but also from all 4 directions.   This helps them detect features such as cover where a criminal might be hidden.   The Pictometry is of special interest to me as I have started using it as part of my Internship Process.  In the news recently it looks like Apple and Google will both be tackling this type of imagery, so it will be interesting to see if they will be able to implement this technology in Ogden as well.

The Ogden Police Department really took the RTCC to new levels of usefulness in 2011 when they began to integrate other data into the system such as local warrants, criminal history, jail data, arrest affidavits, and property information.    This helped improve the frequency of data retrieval from the system from monthly (in some cases) down to near-real time.   They have developed their systems to be standards compliant with the Microsoft Fusion Core Solution (MFCS) which is the result of a partnership between Microsoft and ESRI.   They describe the MFCS system as “an easy-to-use, quick-to-configure solution that combines the robust capabilities of the Esri ArcGIS Advanced Enterprise Server and Microsoft Office SharePoint Server 2010  They can add data sources from numerous third party data providers such as surveillance cameras, a blimp, and briefing notes.

This article really inspired me to look at some of the processes where I work currently.  We gather real time data in several systems that could be really beneficial to see in a near real-time spatial web application.   We generate some reports for board meetings that would be a whole lot more useful if they were pulled up on a live web site.   Now if I only had the free time…..



Washington DC Crime Mapping

Here is my latest work on the Homeland Security project for Washington DC Crime mapping.


And here is my Process Summary for part 3 & 4 (which were the only parts required this week)

STEP 3: Produce a Map of Police Stations with Crime Proximity
1) Used my DCMaps template to create my new crime2.mxd document
2) Exported some of my symbolized data to layer files so I could use them more easily
3) Ran the Multiple Ring tool from the Analysis tools in the toolbox.   Set at .5, 1 and 2 miles
4) On the next step, it would not let me add a field on the Crime data until I exported it to be part of the GDB file.
5) Set the new Event field to 1 using the calculator
6) Performed my spatial join to create the buf_crime
7) Removed buffer from the TOC
8) Answered Q7 & Q8
9) On Q9 I have an interesting issue.   My sum of events doesn’t match my original count of crimes (off by 61).   So I am going to do my best to answer Q9.
10) Answered Questions 9-12
11) Prepared my deliverable (I went with an 11x17 map, I hope that is acceptable).

STEP 4: Produce Density Maps of Burglaries, Homicide, and Sex Abuse Crimes
1) Created my crime3.mxd
2) Added the Crimes to it (with the added Events column)
3) Selected all the burglaries
4) Answered Question 13
5) Ran the spatial analysis on the Crime density using the different buffer values
6) Saved the 1500 version out as a layer file
7) Answered Q14
8) Created my additional data frames and set the coordinate systems all to match.
9) Next worked on homicide and Sex Abuse maps
10) Answered Q15
11) Answered Q16
12) Prepared the map deliverable for this assignment.
13) Posted to dropbox and blog.

Thursday, June 14, 2012

Intro to Python - Module 3


Summary of what I learned:

Exercise 3a:

·        While the Shell is good for a lot of things, working on multiple-line code segments is not one of them.

·        One of the big benefits of working in a Text Editor is the global Find/Replace functionality that we have become accustomed to.

·        Notepad ++ can be temperamental.   Whenever I tried to work with it, it would muck up my paths to my S: drive not only from within Notepad ++ but even from Windows Explorer.

Exercise 3b:

·        It is important to recognize places where you will need to use both single and double quotation marks, such as in contractions used in text strings.

·        Embedded variables are an extremely yet simple way to personalize your text strings.

·        Variable naming can lead to a lot of confusion.   You want to make sure to check for proper case sensitivity to ensure that you reference the correct variable.

Exercise 3c:

·        Be sure to take full advantage of the auto-complete functionality that ArcGIS gives you with Python.

·        In addition to auto-complete, Python also offers extensive drag and drop functionality to create code for you.

·        Don’t forget to import your arcpy library !

·        Be mindful of your environment settings.   These are key to finding all the awesome data results you have created !

Assignment 3a:

·        Python has great tools for automating repetitive tasks such as directory creation.

·        Lists are a very useful concept that can help reduce “code-bloat”

Assignment 3b:

·        String literals are very helpful in this assignment.  These really help minimize the time it takes to format your strings

·        You can use a “while” loop to make this code more streamlines

·        Using the data in a LIST format really helps with readability

Challenge Exercise:

·        For this exercise, you can set the parameters using the ArcGIS interface rather than trying to do it from within the Python script.

·         You can then read these parameters as follows:    inYear = gp.GetParameterAsText(0)

This was a fun assignment and challenge exercise.    I am looking forward to what comes next !