The GIS Framework provides interfaces that must be implemented by data sources that need to be plugged into the framework so that they will work seamlessly with the various components. All query operations return a set of features grouped by feature type.
QueryManager
The FDOT.GIS.Client.Domain.QueryManager class provides and API for issuing queries against the data sources registered for a virtual application. Data sources must implement the FDOT.GIS.Client.Domain.IQueryableDataSource interface which provides the ability to Query, Identify or Find data features.
Properties
Name | Type | Description |
---|
RegisteredDataSources | IEnumerable | The set of registered data sources |
Operations
Name | Description |
---|
RegisterDataSource | Register a data source. Note that queryable map services are automatically registered as data sources when the layer is initialized. |
UnregisterDataSource | Remove a data source. |
GetDataSource | Retrieve a data source by id. Returns null if not found. |
GetDataSourceForFeatureType | Retrieve a data source by feature type. Throws an exception if no data source is found for the feature type |
ExecuteQuery | Executes a query against the correct data source for the given feature type and provides the results to a callback function |
ExecuteIdentify | Executes a search across all registered data sources for features that touch the provided geometry and provides the results to a callback function |
IQueryableDataSource
Objects implementing the FDOT.GIS.Client.Domain.IQueryableDataSource represent a data source that can be queried through the GIS framework.
Inteface Definition
public interface IQueryableDataSource
{
string Id { get; }
IEnumerable<FeatureType> FeatureTypes { get; }
void Query(QueryParameters parameters, string startingId, Action<QueryResult> callback);
void Identify(DataContracts.Geometry geometry, Action<IDictionary<FeatureType, ICollection<Feature>>> callback);
void Find(FindParameters parameters, Action<ICollection<QueryResult>> callback);
}
Properties
Name | Type | Description |
---|
Id | string | A unique data source identifier |
FeatureTypes | IEnumerable | The set of feature types this data source can query |
Operations
Name | Description |
---|
Query | Return features from a specific feature type that match a given set of attribute and geometry criteria. |
Identify | Search across feature types for any features that are touched by a given geometry. |
Find | Search across feature types for any features that match a given set of attribute criteria. |
FeatureType
The FDOT.GIS.Client.Domain.FeatureType class describes a feature type. It provides information regarding the data attributes the features will possess and whether they have associated geometry.
Properties
Name | Type | Description |
---|
Id | string | A feature type identifier |
Name | string | The display name for the feature type |
Description | string | Some text describing the data and purpose of the feature type |
Attributes | ICollection | The attributes that features of this feature type will have. |
HasGeometry | bool | A flag indicating whether the features of this feature type will have associated geometry. |
GeometryType | FDOT.GIS.DataContracts.Enums.GeometryTypes | The Geometry type for the geometry object associated with the features from this feature type. |
Feature
See Main Article
FeatureThe FDOT.GIS.Client.Domain.Feature class represents an individual feature and contains all data attributes and associated geometry.