Michael Dobyns W1459582 GEOG 385 (FALL 2014) FINAL PROJECT PAPER “Farmers Market Web Application” Project Summary: For my final project, I created a web application which consists of a map service, along with a geoprocessing service. The focus of the web application is on the farmers markets of the Sacramento region. The goal of the project was to create a web application that would allow the user to access information about the local markets and to find a market near them. I was also interested in displaying the census tracts in the region which are designated as “Food Deserts” by the USDA. The services utilize several operational data layers stored in Dobyns_Project.gdb. The primary data layer being utilized is a geodatabase feature class named Farmers_Markets (point). To assist with the users search, I included a geoprocessing service which allows the user to search for farmers markets by neighborhood name. This is accomplished through the use of a geoprocessing model which selects points from the Farmers_Markets feature class which are inside of the selected neighborhood in the Sacramento_Neigh feature class (polygon). The map and geoprocessing services were included in a web application which I built in ArcGIS Viewer for Flex. Within the Flex builder I was able to add additional functionality, allowing the user to further utilize the data. I was also able to change the style and other elements of the web application for a better user experience. Overall, the web application is successful in both its operation and in fulfilling the goal of the project. As a result of this project I am now more confident about web application development methods and best practices. Purpose: Sacramento is known as the “farm to fork” capital of California and we have a large number of farmers markets in the region. However sometimes, it can be hard to find one because they are spread out all over the area, they’ve all got different days/hours they are open, some are only open seasonally, and to top it off they are run by many different groups! So I decided to create a web application where the user could go to find up to date information on all of the markets in the area. I am also interested in the subject of food access and how the farmers markets in the region could help increase access to those in need. The USDA has produced some wonderful datasets which address the subject of food access at the census tract level (ERS, 2014). One of these datasets contains all of the tracts in the US which are classified by the USDA as food deserts. “USDA, Treasury and HHS have defined a food desert as a census tract with a substantial share of residents who live in low-income areas that have low levels of access to a grocery store or healthy, affordable food retail outlet (AMS, 2014).” The dataset contains relevant social and economic indicator data for the selected census tracts. For the web application, I initially wanted to come up with some way of performing an analysis which would quantify the impact of the local markets on a food desert tract. My idea was that the web application could be used a tool for someone who wanted to establish a new market in the region by showing them the area of greatest need/impact. Data and Application Development (including issues encountered): The most time consuming process of the data development stage of this project was the creation of the Farmers_Markets feature class. This is a custom dataset which I created. The USDA “National Farmers Market Directory” is the best resource available for a national or statewide dataset of farmers market locations, and at first glance it appeared to be fairly detailed and complete (AMS, 2014). However, when it was examined on a local level, it was found to have many inaccurate entries. Issues with the dataset included incorrect coordinates and out of date or missing attribute data. It became apparent that it would be necessary to create a local Sacramento dataset from scratch. To create this dataset a web search was performed to find all farmers markets in the area. Relevant attributes were recorded in a spreadsheet. Locations were then input in Google Earth and a series of place points created. These points were exported from Google Earth as a KMZ file and then converted to a geodatabase feature class format using XTools Pro; Import from KML tool. Once in ArcMap, the points were joined with the attribute data collected in during the web search. Once the Farmer_Market feature class was built, the collection of the remaining data was fairly straightforward. I acquired shapefiles for the light-rail (and stops) from Sacramento County’s website. I also downloaded city and town boundaries (CENSUS_DESIGNATED_PLACES.shp) from Cal-Atlas, and the Sacramento City neighborhoods (neigh_hd.shp) from the City of Sacramento’s website. These were essentially the only active data layers utilized in the web application. For the Basemap I utilized the ArcGIS Online services “Streets basemap”, which included all necessary and relevant base data. For this application it seemed more appropriate than imagery. Once the data was acquired, I created a map document in ArcMap and styled my layers appropriately for use in a map service. Overall, that translated to bold colors and simple symbology. I encountered some challenges with my initial styling, particularly with scale issues. I resolved this by creating Group Layers for each feature dataset. I drew the same layer into the Group Layer three times, each layer having a different scale range, and then styling the layer to look/perform well within the specified range. I wanted the neighborhoods to be available for use in the geoprocessing service, but I didn’t want to clutter the screen with a lot of boundary lines, so my solution was to turn on the layer and then give it no color for fill or outline. Another minor issue I encountered had to do with the use of transparency in ArcMap. Instead of making the layer translucent as it appears in ArcMap, it is opaque when published as a web service (it just appears washed out). My solution was to simply remove the transparent elements from the styling, and instead utilize the function available in Flex. After I was happy with the styling, I published the map document as a map service. Screenshot of styled map document with group layers expanded: Once the map document was completed, I then focused on building a model in ArcCatalog (from within ArcMap) which would serve as my geoprocessing service. Since my goal was to create a tool which would allow the user to search for a market based on the location of their neighborhood, I used the model below: I ran the completed model within the map document, styled the resulting layer, and then published it as a geoprocessing service. The only real challenge I ran into occurred when I made changes to the model. It was necessary to go into the geodatabase and delete the feature class which the model created. Only then could I re-run the edited model. Another issue occurred when I decided to create the scale dependent group layers. The model would only accept one of the layers within the group layer as an input. This was ok for running the model; however within the web application it created issues with the display of the selected set in the attribute table. Since the model only referenced one layer, you had to be within the scale range of the layer used in the model for the web application to display the attribute data. Once I published the map and geoprocessing services, I created my web application in ArcGIS Viewer for Flex. I found the Flex Builder to be very intuitive. In the Maps tab, I created the application, added the map and geoprocessing services as Operational Layers, and include an ESRI Basemap. Once this was saved, the web application was active. I could then view the application in a browser to see how everything was looking. From there I used the application builder to add functionality and to style to the app. I really had no problem here; it was simply a process of trial and error to learn about the different widgets and other elements available. As usual the online help resources from ESRI were very useful here. For my application I ultimately added the Layer List, Geoprocessing (linked to the model), and Query widgets. I was able to add additional functionality in the Layout tab by adding an attribute table. This is especially useful because the user can export data from here as a .csv. I also adjusted the look and changed the title in the Design tab. I added pop-ups through the Maps tab. Again, everything within the Application Builder is very intuitive and allowed for easy editing of the application. Ultimately, I was able to view my changes in Preview tab or I could save and view changes instantly from the link in the Maps tab. Screenshot of the final web application with pop-up: Screenshot of Food Deserts Operational Layer and Query Widget: Final Web Map: Summary and Discussion For my first time building one, I felt that the final web application and services were functional and had a good look. I built a geodatabase in ArcCatalog, created a styled map document and a geoprocessing model in ArcMap which was able to be shared as a service successfully. The geoprocessing model performed as expected. The styling of the operational layers looked good on the screen, and the group layers based on scale ranges seemed to work ok. While I feel that my symbology worked ok, there is certainly room for improvement. Scale ranges are particularly cumbersome, but ultimately important to achieving a good look/feel. I also feel that the web application achieves its intended purpose. The user is able to view the farmers market points and interact with them on the screen. The user can search for markets in his area and obtain useful information on the selected set. I would have like to have developed a more sophisticated geoprocessing model which would have incorporated the USDA food desert layer. Nevertheless, the user can interact with this data as well. From this experience I have learned a great deal for future web application development. I am now far more confident about composing a map document for use in a map service. By the end of this project I also have a better feel for what can be done from within the Flex Viewer and what must be handled in the map document. I look forward to my next development opportunity. References/Sources: Agricultural Marketing Service (AMS), United States Department of Agriculture (USDA). “Farmers Markets Search.” Search.ams.usda.gov. n.p. December, 2014. < http://search.ams.usda.gov/FARMERSMARKETS/>. Economic Research Service (ERS), U.S. Department of Agriculture (USDA). “Food Access Research Atlas.” ers.usda.gov. n.p. 2014. <http://www.ers.usda.gov/data-products/food-access-research-atlas.aspx>.