Derive New Locations is used to create new features based on one or more attribute or spatial 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. Derive New Locations will be used to create new features within the city limits that are zoned for mixed-use development and fit the selection criteria.
Input layers are determined within an expression, rather than as an input parameter.
A query can be built using Add Expression. Multiple expressions, including a combination of spatial and attribute queries can be added. The features or portions of features from the input layer that satisfy the expression will be written to the result layer.
There are several operators that can be used for an attribute query, depending on whether the field you are querying is categorical or numerical.
If your field is categorical, the following operators can be used:
- is not
- starts with
- ends with
- does not contain
- is blank
- is not blank
If your field is numerical, the following operators can be used:
- 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.
The following spatial expressions can be used 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
For more information on building spatial expressions, see the How Derive New Locations works section.
Multiple expressions can be added to the query using the Add Expression button. The expressions can be combined 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
To build an expression, click the Add Expression button to open the Add Expression dialog box.
Attribute expressions are created by 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 will be used in the analysis.
Spatial expressions are created by choosing expression types such as completely within or intersects (the complete list can be found 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 below for details about each of the spatial expression types.
The second layer. These are the other layers in your map.
Example of a completed query
In this example, the goal is to derive new areas that would be 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 shot is a Derive New Locations query based on the above criteria using layers named Vegetation, Slope, Streams, and Highways:
- The order of the expressions does affect 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. More information about groups can be found in the Grouping section.
- Clicking switches the operator to . Clicking switches the operator to .
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/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 "is farther away than."
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/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 could 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/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 could 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/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.
Two or more consecutive expressions can be grouped 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, you would want to use grouping to construct the query. Figure 1 shows the initial query without any grouping or modification of logical operators (they are all ). This query would result 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, groups need to be created. 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 to , as shown in Figure 5.
The query shown in Figure 5 will yield 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 .
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.
Use Derive New Locations to create new features based on a query. Other tools may be useful in solving similar but slightly different problems.
Map viewer 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.