Learn about recent changes to the ArcGIS Urban API. The release date is December 4th, 2024.
What's new
This section provides a summary of the most important changes in this release.
- New metrics are now also exposed through the Urban API. See Metrics (new) section in the ArcGIS Urban documentation to learn more about new metrics in Urban.
- The deprecated field
Metric
reached its sunset date and was removed (breaking change).Values - The deprecated field
Geodetic
reached its sunset date and was removed (breaking change).Shape Area - The deprecated
async
flag for creating and upgrading urban models and design databases was removed. - Added an
alternativewkids
field to theSpatial
attribute. Now you can query other wkids available for the used spatial reference. See Alternative wkids for an example.Reference - Added a global
limit
override to the cursor node. Now you can define a limit that will be automatically set on the top-level query, as well as overwritten for the nested fragments of the query. See Global limit for an example.
Examples
The following section provides a few examples of how to use the new Urban API features added in the December 2024 release.
Alternative wkids
This example shows how to query the alternative wkids available for the used spatial reference. Use the following operation to query alernative
field for parcels in a plan:
query ReadPlanParcels($urbanDesignDatabaseId: PortalItemId!, $urbanEventId: GlobalID!, $branchId: GlobalID!) {
urbanDesignDatabase(urbanDesignDatabaseId: $urbanDesignDatabaseId) {
plans(filter: { globalIDs: [$urbanEventId] }) {
branches(filter: { globalIDs: [$branchId] }) {
parcels {
geometry {
spatialReference {
wkid
alternativeWkids
}
}
}
}
}
}
}
The response should look something like this:
"spatialReference": {
"wkid": 3857,
"alternativeWkids": [102100]
}
Global limit
This example shows how to use the global limit
set for the cursor to override the limit defined in the nested fragment of the query. Use the following operation to override the paging limit
set for the zone
:
fragment ZoneTypesFragment on UrbanDatabase {
zoneTypes(paging: { limit: 5 }) {
attributes {
GlobalID
}
}
}
query {
cursor(limit: 10)
urbanModel(urbanModelId: "URBAN_MODEL_ID") {
urbanDatabase {
id
...ZoneTypesFragment
}
}
}
Schema changes
This section describes new features and changes made to the Urban API schema.
The following mutations related to the new metrics were added:
- Field
create
was added to object typeExtended Metrics Mutation
- Field
update
was added to object typeExtended Metrics Mutation
- Field
delete
was added to object typeExtended Metrics Mutation
- Field
import
was added to object typeModel Extended Metrics Mutation
- Field
import
was added to object typePlan Extended Metrics Mutation
The following directive, fields, types, input types and enums related to new metrics were added:
- Directive
requires
was added to fieldOpt In Plan
andBranch.metrics Dashboards Project
Branch.metrics Dashboards - Field
extended
was added to object typeMetrics Plan
andUrban
Database - Field
extended
was added to object typeMetrics Dashboards Plan
Branch - Field
Extended
was added to object typeMetric Parameters Space
Use Type Attributes - Input field
Extended
of typeMetric Parameters [
was added to input object typeExtended Metric Parameter Input!] Create
Space Use Type Attributes Input - Input field
Extended
of typeMetric Parameters [
was added to input object typeExtended Metric Parameter Input!] Update
Space Use Type Attributes Input
- Input field
- Type
Extended
was addedMetric - Type
Extended
was addedMetric Attributes - Type
Extended
was addedMetric Entry - Type
Extended
was addedMetric Filter Input - Type
Extended
was addedMetric Graph Edge - Type
Extended
was addedMetric Graph Edge Input - Type
Extended
was addedMetric Parameter - Type
Extended
was addedMetric Parameter Input - Type
Extended
was addedMetric Source - Type
Extended
was addedMetric Source Attributes - Type
Extended
was addedMetric Unit - Type
Extended
was addedMetrics Dashboard - Type
Import
was addedExtended Metrics Result - Type
Metric
was addedResolution - Type
Metric
was addedResult Aggregation - Type
Metric
was addedSummary - Type
Metric
was addedType - Type
Metric
was addedUnit Type - Type
Create
was addedExtended Metric Attributes Input - Type
Create
was addedExtended Metric Input - Type
Create
was addedExtended Metric Source Attributes - Type
Create
was addedExtended Metric Source Input - Type
Update
was addedExtended Metric Attributes Input - Type
Update
was addedExtended Metric Input - Enum value
Max
was added to enumMetric
Result Aggregation - Enum value
Building
was added to enumGross Floor Area Metric
Type - Enum value
Dwelling
was added to enumUnits Metric
Type
Metric
field was added to Plan
and Metric
:
- Field
Metric
was added to object typeVersion Plan
andAttributes Metric
Value Attributes - Type
Metric
was addedVersion - Input field
Metric
of typeVersion Metric
was added to input object typeVersion Create
Plan Attributes Input - Input field
Metric
of typeVersion Metric
was added to input object typeVersion Update
Plan Attributes Input - Input field
Metric
of typeVersion Metric
was added to input object typeVersion Create
Metric Value Attributes Input - Input field
Metric
of typeVersion Metric
was added to input object typeVersion Update
Metric Value Attributes Input
- Type
- Field
metric
was added to object typeVersion Metrics
Dashboard Chart - Input field
metric
of typeVersion Metric
was added to input object typeVersion Metrics
Dashboard Chart Input
- Input field
- Input field
metric
of typeVersions [
was added to input object typeMetric Version!] Plan
Filter Input
Other additions and changes were introduced:
- Argument
limit
added to field: Int Query.cursor
- Directive
one
was addedOf - Field
alternative
was added to object typeWkids Spatial
Reference - Type
Input
was addedType - Input field
Create
changed type fromMetric Attributes Input. Metric Name String!
toString
- Input field
Create
changed type fromMetric Attributes Input. Operation Operation!
toOperation
- Input field
Create
changed type fromMetric Attributes Input. Unit Type Unit
toType! Unit
Type - Input field
Create
changed type fromMetric Source Attributes Input. Metric ID Global
toI D! Global
ID - Input field
Create
changed type fromMetric Source Attributes Input. Source Type Source
toType! Source
Type - Input field
Create
changed type fromMetric Source Attributes Input. Weight Type Weight
toType! Weight
Type
Bug fixes and improvements
- Fixed a bug where the
Status
ofType Project
was sometimes not returned correctly in a query
Breaking changes
The following previously deprecated fields have been removed.
Metric
has been removed from Branch
and Space Attributes
:
- Field
Metric
(deprecated) was removed from object typeValues Branch
Attributes - Type
Branch
was removedMetric Value - Type
Branch
was removedMetric Value Input - Input field
Metric
was removed from input object typeValues Update
Branch Attributes Input - Input field
Metric
was removed from input object typeValues Create
Branch Attributes Input
- Type
- Field
Metric
(deprecated) was removed from object typeValues Space
Attributes - Type
Space
was removedMetric Value - Type
Space
was removedMetric Value Input - Input field
Metric
was removed from input object typeValues Update
Space Attributes Input - Input field
Metric
was removed from input object typeValues Create
Space Attributes Input
- Type
Metric
has been removed from Metric
:
- Field
metric
(deprecated) was removed from object typeMetric
Value
Geodetic
had been removed from Parcel
and Space
attributes:
- Field
Geodetic
(deprecated) was removed from object typeShape Area Parcel
Attributes - Field
Geodetic
(deprecated) was removed from object typeShape Area Space
Attributes - Input field
geodetic
was removed from input object typeShape Area Is Greater Than Parcel
Filter Input - Input field
geodetic
was removed from input object typeShape Area Is Less Than Parcel
Filter Input - Input field
geodetic
was removed from input object typeShape Areas Parcel
Filter Input - Input field
geodetic
was removed from input object typeShape Area Is Greater Than Space
Filter Input - Input field
geodetic
was removed from input object typeShape Area Is Less Than Space
Filter Input - Input field
geodetic
was removed from input object typeShape Areas Space
Filter Input
Other breaking changes were made:
- Field
Metric
changed type fromAttributes. Metric Name String!
toString
- Field
Metric
changed type fromSource Attributes. Metric ID Global
toI D! Global
ID