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. 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, accept the default values.
Option Default value
What kind of editing is allowed?
Add, update, and delete features
What features can editors see?
Editors can see all features
What features can editors edit?
Editors can edit all features
What access do anonymous editors (not signed in) have?*
The same as signed in editors
In this case, this hosted feature layer view is not shared with the public; therefore, this option does not affect what people can do with the view.
- 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.
- Leave the default settings for What features can editors edit and What access do anonymous editors (not signed in) have?. Note that you will share the Coyotes_Oakville_PublicReports with the public and, therefore, the latter setting allows all members of the public to contribute to this view.
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.