When adding features to your map from local data files, such as delimited text files (.csv and .txt) or shapefiles, the data contained in those files needs to be web-enabled before it can be used in the web map. There are two ways this is accomplished; data can be imported and stored in the map itself, or the data can be published as feature services that can be used in any map. In this post we’ll consider these options..
Importing data into your map
You can add a .csv or .txt file with lat/long coordinates or addresses, or any shapefile, by clicking Add, then choosing Add Layer from File. Shapefiles are a collection of individual files, and they must be zipped and must include the projection file (.prj).
Depending on your browser, you can also drag-and-drop .csv and .txt files onto your map.
When adding data in this way the features in the source are imported and used to create a feature layer that is stored and managed in your web map. Because the storage and management of imported features must be handled in the context of the web map and browser, there is an inherent limitation to how many features can be efficiently managed. ArcGIS Online sets an outside limit of 1,000 features from a shapefile, or 1,000 features from a .csv, or .txt file using lat/long coordinates (the limit is 250 features using addresses).
Performance of your web map will vary depending on the browser used to view the map, so keeping the number of features stored this way to a minimum provides the best all-around results.
If your file exceeds the 1,000 feature limit, you’ll see a notification message. With a .csv or .txt file the first thousand will be imported, then you’ll see the following:
For zipped shapefiles with more than 1,000 features you’ll see:
You may experience some sluggishness in older browsers prior to reaching the 1,000 feature limit. So while this is a very useful way to add relatively small amounts of data to your map quickly, this method ultimately does not scale well.
Feature services are a more scalable way to publish features, and enable you to go beyond the 1,000 feature limit. Feature services also provide the extra benefit of enabling the creation of efficient layers that can be used in many different web maps, instead of a single web map.
Feature services can be published using ArcGIS for Server or published using hosted feature services available through an ArcGIS Online subscription. We’ll focus on the ArcGIS Online hosted feature services in this post.
ArcGIS Online hosted feature services
If you have publisher or administrator privileges in your organization you can create feature services directly from the data using My Contents. When adding .csv or .txt files you’ll find the option to create a feature service in the Add Item dialog, as shown below:
When adding a shapefile, you’ll find the same option.
After you check the option, choose Add Item. You’ll see an animated graphic indicating the service is being created.
When completed you’ll find both the original files and the corresponding feature services in My Contents. Below are shown the .csv and shapefile that we added, and their corresponding feature services:
The option to create feature services is available when initially adding the item, and is also available from the item details. You can publish and add the data at the same time, can add the data and publish it later, or can update the data and republish services by choosing Update, then Publish:
Feature service considerations
Publishing ArcGIS Online hosted feature services consumes credits from your organization, so a little planing and forethought is a good idea prior to publishing large amounts of features.
Even though you are publishing data as feature services, those features are still being managed in the context of your web map and browser. When publishing large numbers of features use appropriate scale dependencies, or “buddy up” hosted tile services and feature services for best results and performance (we’ll cover this in a separate blog post).
For more information, see the following help topics: