Return Value
The geometry of this feature.
| Exception | Description |
|---|---|
| ArcGIS.Core.Geometry.Exceptions.GeometryException | This feature's type of shape (i.e., geometry) is not supported. |
| ArcGIS.Core.Data.Exceptions.GeodatabaseException | A geodatabase-related exception has occurred. |
| ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
{
//Note: with feature class we can also use a System Task to subscribe and
//process rows
// Note: call within QueuedTask.Run()
{
// or var rfc = realtimeDatastore.OpenTable(name) as RealtimeFeatureClass
using RealtimeFeatureClass rfc = streamLayer.GetFeatureClass();
//non-recycling cursor - 2nd param "false"
//subscribe, pre-existing rows are not searched
using RealtimeCursor rc = rfc.Subscribe(qfilter, false);
SpatialQueryFilter spatialFilter = new SpatialQueryFilter();
//waiting for new features to be streamed
//default is no cancellation
while (rc.WaitForRowsAsync().Result)
{
while (rc.MoveNext())
{
using (var row = rc.Current)
{
switch (row.GetRowSource())
{
case RealtimeRowSource.EventInsert:
//getting geometry from new events as they arrive
Polygon poly = ((RealtimeFeature)row).GetShape() as Polygon;
//using the geometry to select features from another feature layer
spatialFilter.FilterGeometry = poly;//project poly if needed...
featureLayer.Select(spatialFilter);
continue;
default:
continue;
}
}
}
}
//row cursor is disposed. row cursor is unsubscribed
}
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)