This tool is now available in Map Viewer, the modern map-making tool in ArcGIS Enterprise. To learn more, see Find by Attributes and Location.
The Derive New Locations tool selects the parts of features that meet a series of criteria based on spatial or attribute queries.
A query on spatial relationships
A query on field values
A real-estate development company is looking for suitable areas to build a mixed-use development. The development will be in an area with plenty of young adults in their 20s and 30s with easy access to the city's light-rail system. You can use Derive New Locations to create features within the city limits that are zoned for mixed-use development and fit the selection criteria.
State park officials are concerned about cougar-human interactions and decide to map potential cougar habitat within the park. The habitat will be based on criteria such as vegetation, slope, and proximity to roads. You can use Derive New Locations to create habitat areas that meet the suitability criteria.
Input layers are determined within an expression, rather than as an input parameter.
You can build a query using Add Expression. You can add multiple expressions, including a combination of spatial and attribute queries. The features or portions of features from the input layer that satisfy the expression will be written to the result layer. However, all expressions must relate back to the same target layer.
There are several operators that you can use for an attribute query, depending on whether the field you are querying is categorical or numerical.
If your field is categorical, you can use the following operators:
- is not
- starts with
- ends with
- does not contain
- is blank
- is not blank
If your field is numerical, you can use the following operators:
- is not
- is at least
- is less than
- is at most
- is greater than
- is between
- is not between
- is blank
- is not blank
For more information on building attribute expressions, see the How Derive New Locations works section.
You can use the following spatial expressions in a spatial query:
- does not intersect
- within a distance of
- not within a distance of
- completely contains
- does not completely contain
- completely within
- not completely within
- nearest to
For more information on building spatial expressions, see the How Derive New Locations works section.
You can add multiple expressions to the query using the Add Expression button. You can combine the expressions using either and or or as an operator.
If Use current map extent is checked, only the features that are visible within the current map extent will be analyzed. If unchecked, all features will be analyzed, even if they are outside the current map extent.
How Derive New Locations works
Derive New Locations uses spatial and attribute expressions to query layers. In this section, you will learn how to build an expression, review the available spatial expression types, learn how to group expressions together in a query, and view an example of a completed query.
To build an expression, click the Add Expression button to open the Add Expression dialog box.
Attribute expressions are created using where (attribute query) as the expression type.
Layers you can use in the expression are listed here. All layers in the table of contents will be available.
This is the expression type. For attribute expressions, choose where (attribute query).
Choose the field you want to query against from the list.
Choose an operator for the expression.
If any of your layers has a filter applied, only those features that meet the filter expression are used in the analysis.
Spatial expressions are created by choosing expression types such as completely within or intersects. (You can find the complete list in the Spatial expression types section.)
When you choose a spatial expression type, the Add Expression dialog box changes depending on the expression type you choose.
The first layer.
The spatial expression type. See Spatial expression types for more information.
The second layer. These are the other layers in your map.
Spatial expression types
A spatial expression establishes a relationship between two layers. If you need to establish a spatial relationship between features in the same layer (for example, you want to select vacant parcels within a distance of industrial parcels), copy the parcels layer and add it to your map so you have two layers using the same parcel features.
Within a distance of and Not within a distance of
The within a distance relationship uses the straight-line distance between features in the first layer to those in the second layer.
- Within a distance of—New features are derived from the portion of the feature in the first layer that are within the specified distance of a feature in the second layer; for example, only those portions of parcels within 100 meters of a river will be included in the output.
- Not within a distance of— New features are derived for the portions of features in the first layer that are not within a distance of another feature; for example, parcels within 100 meters of a river will not be included in the output. You can think of this relationship as a parcel is farther away than the specified distance.
Distances are calculated between the closest parts of features. In the example above, where vegetation had to be within 2,500 feet of the streams, new areas are created for the portions of the vegetation layer that are within 2,500 feet.
Completely contains and Does not completely contain
A feature in the first layer passes this test if it completely surrounds a feature in the second layer. No portion of the contained feature can be outside the containing feature; however, the contained feature is allowed to touch the containing feature (that is, share a common point along its boundary).
- Completely contains—If a feature in the first layer contains a feature in the second layer, the feature in the first layer is included in the output.
- Does not completely contain—If a feature in the first layer contains a feature in the second layer, the feature in the first layer is excluded from the output.
You can use the contains relationship with points and lines. For example, you have a layer of street centerlines (lines) and a layer of manhole covers (points), and you want to find streets that contain a manhole cover. You can use completely contains to find streets that contain manhole covers, but for a line to contain a point, the point must be exactly on the line (that is, in GIS terms, they are snapped to each other). If there is any doubt about this, use the within a distance of relationship with a suitable distance value.
Completely within and Not completely within
A feature in the first layer passes this test if it is completely surrounded by a feature in the second layer. The entire feature in the first layer must be within the containing feature; however, the two features are allowed to touch (that is, share a common point along its boundary).
- Completely within—If a feature in the first layer is completely within a feature in the second layer, the feature in the first layer is included in the output.
- Not completely within—If a feature in the first layer is completely within a feature in the second layer, the feature in the first layer is excluded from the output.
You can use the within relationship for points and lines, just as you can with the contains relationship. For example, your first layer contains points representing manhole covers, and you want to find the manholes that are on street centerlines (as opposed to parking lots or other non-street features). You can use completely within to find manhole points within street centerlines, but for a point to contain a line, the point must be exactly on the line (that is, in GIS terms, they are snapped to each other). If there is any doubt about this, use the within a distance of relationship with a suitable distance value.
Intersects and Does not intersect
A feature in the first layer passes the intersects test if it overlaps any part of a feature in the second layer, including touches (where features share a common point).
- Intersects—If a feature in the first layer intersects a feature in the second layer, only the portions of the features that overlap will be included in the output.
- Does not intersect—If a feature in the first layer intersects a feature in the second layer, the portions of the feature that overlap are excluded from the output.
A feature in the first layer passes this test if it is nearest to a feature in the second layer.
- Nearest to—If a feature in the first layer is nearest to a feature in the second layer, the feature in the first layer is included in the output.
You can group two or more consecutive expressions together using the group button . Select multiple expressions to group using Shift+click.
Here is an example where grouping is needed:
- You have a point layer of sites containing toxic chemicals. Each point has an attribute, CHEMICAL, containing the name of the toxic chemical known to exist at the site.
- You want to find toxic sites containing MERCURY or SELENIUM that are near a river.
- You also want to find toxic sites containing BENZENE or LEAD that are near a park.
In the above example, two sets of features are created from the same toxic sites layer: toxic sites near parks and toxic sites near rivers. These two sets are distinct from each other.
Since the set of toxic sites near a river is distinct from the toxic sites near a park, use grouping to construct the query. Figure 1 shows the initial query without any grouping or modification of logical operators (they are all and). This query results in toxic sites within a kilometer of both a park and a river. This is not the goal; the desired result is one set of toxic sites within a kilometer of a river and another distinct set within a kilometer of a park.
To construct a query that meets the criteria outlined above, create groups. Each group forms a subquery whose results are combined with the previous expression.
Start by selecting the first two attribute expressions, as shown in Figure 2.
After selecting the two attribute expressions, click the group button . The group becomes indented, as shown in Figure 3.
Select the second group of attribute expressions, as shown in Figure 3.
After selecting the second group, click the group button.
Finally, select the second group of attribute expressions and the spatial expression to which they belong, as shown in Figure 4.
Click the group button and the query becomes indented, as shown in Figure 5. The final step is to switch and to or, as shown in Figure 5.
The query shown in Figure 5 yields the desired results.
- Toxic Sites with LEAD or BENZENE are found and these features are subset by finding those within one kilometer of Parks.
- Next, Toxic Sites with SELENIUM or MERCURY are found and these features are subset by finding those within one kilometer of the River.
- Finally, the two sets of features are combined using a logical or.
Grouping expressions is only necessary when you need to create two or more distinct sets of features from the same layer. One way to think of grouping is that without grouping, you would have to execute Find Existing Locations twice, once to find sites near rivers and again to find sites near parks. You would then need to use the Merge tool to combine the two results.
You can click the text button to view a textual representation of the query. The textual representation uses parentheses to denote groups.
Example of a completed query
In this example, the goal is to derive new areas that are prime locations for mountain lion habitat based on a series of criteria. The criteria for prime mountain lion habitat is as follows:
- Mountain lions prefer steep terrain.
- Terrain must be covered by forest.
- Location must be within 2,500 feet of a stream.
- Location must be at least 2,500 feet from highways.
The following screen capture is a Derive New Locations query based on the above criteria using layers named Vegetation, Slope, Streams, and Highways:
- The order of the expressions affects the result of the analysis.
- You can group and ungroup expressions by clicking the group and ungroup buttons . To create groups, select two or more expressions and click the group button. You can find more information about groups in the Grouping section.
- Clicking and switches the operator to or. Clicking or switches the operator to and.
Use Derive New Locations to create features based on a query. Other tools may be useful in solving similar but slightly different problems.
Map Viewer Classic analysis tools
If you are trying to find locations that are similar to a reference location, use Find Similar Locations.
If you are trying to select existing features with a query, use Find Existing Locations.
The main difference between the Find Existing Locations tool and the Derive New Locations tool is that the result of Derive New Locations can contain partial features.
- In both tools, the attribute expression where and the spatial expressions completely within and completely contains return the same result because the expressions return entire features.
- When intersects or within a distance of is used, Derive New Locations creates new features in the output result layer.