Data management is one of the most powerful capabilities of ArcGIS Online. In this lesson, you'll assume the role of a municipal employee who manages data for the Town of Oakville, Ontario, in Canada. You want to inform the community where they may have a higher risk of encountering coyotes. You decide to publish a data layer for people to report and view coyote activity. You identify three different audiences for this data, each with unique requirements as follows:
- Public—Adding observations to a map
- Public—Viewing only reported coyote activity that has been reviewed for quality
- City staff—Adding observations to a map and viewing and modifying all recently reported coyote activity
You'll start by downloading a comma-separated values (CSV) file that contains data for reported coyote activity that spans several years. You’ll add the data file to ArcGIS Online, publish it as a hosted feature layer to use and edit in web maps, and update its details and settings. You'll create hosted feature layer views from your published layer to give each intended audience a focused experience when working with the coyote activity layer. Hosted feature layer views provide a unique set of capabilities that allow you to meet the needs of each audience. Using views helps to simplify your work, reduce unintended edits, and avoid duplicating the source data. Finally, you’ll add the views to a map so you can compare the different user experiences. You'll add and delete features to confirm your views are ready for use in your organization and the community.
As you work through the steps in this lesson, you’ll use the following skills: publishing a hosted feature layer from a CSV file, creating hosted feature layer views for different needs, editing item details and managing settings, adding layers to a map, and editing the data. This lesson is designed for beginners. You must have an organizational or trial account with privileges to publish and edit layers. Estimated time: 25 minutes.
Publish a hosted feature layer from a CSV file
You already have a CSV spreadsheet with more than five years of reported coyote activity in Oakville. You'll publish this data as a hosted feature layer.
- Download the CSV file to your computer and open it in a text editor such as Notepad or Microsoft Excel.
This file includes Coyote Encounters data downloaded from the Town of Oakville Open Data Portal. (Licensed under the Open Government License—Town of Oakville.) The data has been modified slightly for instructional purposes.
The data has columns for x,y coordinates, and other information such as location notes, type and date of observation, and comments. You’ll add this file to ArcGIS Online to visualize the locations on a map.
- Go to https://www.arcgis.com and sign in to your ArcGIS organizational account with publisher privileges.
- At the top of the site, click Content. On the My Content tab, click Add Item and click From my computer. Browse to the CSV file on your computer, and provide the following details for your new item:
- For Title, accept the default value. If necessary, add your initials or change it to use a unique title within your organization.
- If your organization has set up content categories, click Assign Category and select relevant categories to keep your content organized.
- For Tags, type the following string of keywords (including commas) to describe your item and help users find it: coyotes, crowdsource, Oakville, Ontario, Canada.
- Leave the box checked to publish the file as a hosted feature layer.
Publishing a hosted feature layer allows you to share your data in a web map or app and configure it for reuse. Hosted feature layers also allow you to edit data, which supports community contributions.
When you add a CSV file with location information (street addresses or coordinates), the features can be located on a map. In the field table, the Field Name column lists the field names (column headings) from the CSV file. In the Location Fields column, these field names are matched to appropriate categories of address information.
- Click Add Item.
Update item details and configure the layer
Once you've added your file, it appears in your content and you can edit its details. To help others understand the purpose of your content, you'll complete the item details. You can refer to the Item Information section for improvement recommendations.
- Click Add a brief summary about the item. In the Edit Summary box, type the following text and click Save: Reported coyote activity in the Town of Oakville, Ontario Canada.
- Edit the other item details:
- Description: Reported coyote activity in the Town of Oakville, Ontario Canada. This is the source data for a crowdsourcing solution being developed by the city. It has multiple purposes and audiences. The community can report coyote activity and view reports that have been reviewed for quality. City staff can view all recently reported coyote activity and collect new data in the field. City staff in the office can review and modify data for quality before sharing it with the community. This layer was created for instructional purposes only and should not be used as an authoritative resource.
- Credits (Attribution): Contains information licensed under the Open Government License — Town of Oakville. (https://www.oakville.ca/data/open_data_licence.html)
Now that you have a hosted feature layer with location data and corresponding attributes, you can query and update the data in ArcGIS Online. Next, you'll modify the layer. The CSV file includes columns for the x,y coordinates. ArcGIS used those coordinates to create the points in your layer, so you no longer need to keep the X and Y fields.
- Click the Data tab to view the table of fields and attributes for this layer. Click the X column header and choose Delete.
- Click Delete Field to update the table. Delete the Y field too.
The field names that appear in the column headers are what end users see when they're working with features in the layer. If necessary, you can provide names that are more meaningful.
- Click Fields. In the Display Name column, click Encounter_type to open settings for the field.
- Click the Edit button next to the display name and change the name to Type of observation. Click Save.
Changing the display name of a field doesn't affect the field name stored in the attribute table. You can also create a list of suggested attribute values that users can choose when adding and editing features. The table already contains four unique values for this field (Encounter, Sighting, Feeding, and Garbage), so you'll populate the list with these values.
- Click Create List. Click Generate List and click Save.
Now when users add a feature, they can choose one of these values from a list instead of typing their own.
- Click the Visualization tab to view the data on a map. Click a feature on the map to display a pop-up.
The pop-up includes the fields and values for the reported coyote activity. You can change the default configuration to control what information the pop-up displays. You'll update the title.
- Close the pop-up. On the layer's toolbar, click the Configure Pop-up button.
- For Pop-up Title, replace the text with Coyotes and click OK. Click Save Layer.
- Click the Settings tab. Enable delete protection and click Save.
You can also configure editing capabilities here. Although you want city staff to edit this layer, you also want the community to contribute, so you'll create multiple views instead. Hosted feature layer views allow you to publish your feature layer once and create multiple views to meet different viewing and editing requirements. The views reference the same source feature layer so you avoid duplicating data. (Otherwise, if you publish multiple copies of the data with unique capabilities for each, you'd periodically need to merge them in ArcMap or ArcGIS Pro to keep them updated.)
- Return to the Overview tab.
Create a hosted feature layer view
You identified three audience needs for your data: public viewing, public contributing, and city staff viewing, contributing, and updating. First, you'll create a view for city staff who need to report coyote activity and see all recent reports.
- Click Create View Layer.
- In the window that appears, change the title to Coyotes_Oakville_Staff so the intended audience is evident. If necessary, add your initials to the end to make it unique within the organization. Accept the default tags and summary from the hosted feature layer and click OK.
It takes a moment to create the view and publish the layer. The page refreshes and displays the item page for the new view.
- Click the Data and Visualization tabs and note that they look the same as the source hosted feature layer.
Configure how others can use the data
You can set view definitions to hide fields that you don't want people to see or show only a subset of the features in the overall dataset.
- On the Visualization tab, click the More Options button and choose Set View Definition > Define Features.
You'll set a definition on the view to show only recently reported activity. For this scenario, data collected in 2018 is considered recent data.
- In the Define Features window, use the menus to build the expression Date_of_observation is after 12/31/17.
- Click Apply Definition.
The map updates to show fewer features—only those with attributes that match the criteria of the view definition. It's possible someone may report a coyote sighting without providing a date. You'll edit the view definition to include blank date fields.
- Open the Define Features window again and click the Edit tab. Click Add another expression and build the expression Date_of_observation is blank.
The view should include features that meet the criteria of either expression rather than the default setting to meet the criteria of both expressions.
- Above the two expressions, change the match setting to Only features that match any of the following expressions will be available.
- Click Apply Definition.
The publisher of the feature layer (or the administrator in your organization) decides whether a feature layer is editable and sets the editing capabilities. Before sharing data with the public, you want to confirm that it’s been reviewed. To support your review process, you’ll enable full editing access on the view so city staff can add features, delete duplicate and accidental submissions, and moderate reports by editing inappropriate information.
- Click the Settings tab. Enable full editing access as follows:
- In the Feature Layer (hosted, view) section, check Enable editing.
- In the additional options that appear, for What kind of editing is allowed, accept the defaults for Add, update, and delete features and Editors can see all features.
- Click Save.
- Click the Overview tab. In the Details section, next to Created from, click the Coyotes_Oakville link to return to the item page for the hosted feature layer.
Create and configure more views
The next two views you’ll create are to inform and engage the public. One view can be added to a public awareness app to show areas with a high density of reported activity to emphasize areas with a higher risk of coyote encounters. The final view can be added to a crowd sourcing app to allow the public to report coyote sightings.
- Create a hosted feature layer view with the title Coyotes_Oakville_PublicView (appending your initials if necessary). As before, accept the default values for the tags and summary and update the item details in the same way. For the description, type Reported coyote activity in Oakville.
- Click the Visualization tab. Set a definition on the view to prevent the public from seeing a feature before it goes through the review process. Use the following expression: Review_status is Complete.
For the expression builder, select Unique to choose from a list of known attribute values for the selected field.
All available features in this view have a Review_status value of Complete, so it's not useful to show this internal field to the public.
- Click the More Options button and choose Set View Definition > Define Fields. In the window that appears, uncheck the Review_status box and click Apply.
The last view you'll create is for the community to report coyote activity. They won't need to see any current data. They just need access to a layer to add a new feature and attributes that describe what they observed and when. For this view, you'll restrict their ability to see features for reported activity, including their own.
- Create and configure a view named Coyotes_Oakville_PublicReports.
- Update the item details like the others. For the description, type The community can use this layer to report coyote activity in Oakville.
- Set a definition on the view that hides the Review_status field.
- Enable editing and select Add features so community members can only add a feature for new observations. For What features can editors see, select Editors can't see any features, even those they add.
Add layers and edit data
Now that you've created multiple views to meet different viewing and editing requirements, you’ll add them to a map. You can test how the different views will work in practice and confirm that you set them up correctly. You’ll update data by adding and deleting features, noting the latest updates in applicable views.
- Return to the My Content tab on the Content page.
When you complete this lesson, you can delete the items here by checking the boxes and clicking Delete.
- For Coyotes_Oakville_PublicReports, click the options button and choose Add to new map.
The map doesn't display any points because you configured this layer to only allow users to add features.
- Click the Edit button. In the Add Features pane, click New Feature, and click the map to add a point in the water (so you can easily find your test points). In the pop-up that appears, fill in the fields, and then close the pop-up.
Edits that you make in Map Viewer are automatically saved to the layer.
- After you finish adding test points, close the Add Features pane. In the Contents pane, uncheck the layer.
- Click the Add button and choose Search for Layers. Use the item browser to find Coyotes_Oakville_PublicView and add it to the map.
The map updates to show points for reported coyote activity. You don't see the new features that you added because you configured this view to only show features that have gone through the review process.
- Click features on the map to display pop-ups.
The Review_status field doesn’t appear because you set a field definition for this view. You also don’t see an option to edit the layer or attributes because it’s not an editable layer.
- Add the Coyotes_Oakville_Staff layer to the map.
- Click the Back button to close the item browser. In the Contents pane, uncheck the Coyotes_Oakville_PublicView layer.
The staff layer only displays recently reported activity, including the new features you added using the public layer. You configured this layer with full editing capabilities, including update and delete.
- Click the Edit button and click a point that you added in the water to view its pop-up.
- In the pop-up, click Delete to remove the feature from the map and the data.
You don't need to save the map to save your edits.
After deleting test features, you're ready to share the public views with everyone and the staff view with your organization or applicable groups. When you share an editable layer with the organization (or a group), only members who are assigned a role with editing privileges can edit the feature layer. For more information, see Share items and Data access and editing.
In 25 minutes, you published data as a hosted feature layer and created multiple views with different editing capabilities to meet the requirements of your crowdsourcing solution. What's next?
Configure focused apps using the hosted feature layer views that you created. A few suggestions are as follows:
- Add the public viewing layer (Coyotes_Oakville_PublicView) to a public awareness app to show areas with a higher risk of coyote encounters. Symbolize the layer as a heat map to emphasize areas with a higher density of coyote activity. For an example that uses the Basic Viewer app template, see this coyote sightings public viewer app.
- Add the public reporting layer (Coyotes_Oakville_PublicReports) to a crowdsourcing app. Giving the public a simple and easy way to report coyote sightings allows you to crowdsource more information and gain a greater understanding of coyote activity in the community. You can build a public survey using the GeoForm configurable app template.
- Get other ideas and learn more about this example in the Hosted Feature Layer Views: A practical example story map. You can also explore the Town of Oakville Open Data Portal and access their Coyote Sightings awareness map.
Complete another quick lesson to learn how to create a web app from a map. To find more scenario-based lessons, browse the Learn ArcGIS gallery. You can also visit The ArcGIS Book and The ArcGIS Imagery Book websites.