.NET API Reference
The Telogis.GeoBase namespace provides types for creating and managing maps, rendering additional features on to maps, as well as functions such as geocoding, points-of-interest (PoI) and spatial searches.
Create maps with the Map class (for ASP.NET and other server applications) or the MapCtrl class (for Window's Forms) both of which implement the IMap Interface - a country / engine independent map interface with support for zooming. Change the appearance of your maps with the MapStyle class; map styles can be created with a Chameleon script using Verizon Connect GeoBase WorkBench or a simple text editor.
Locations (latitude, longitude) on maps are described with the LatLon structure which can be used to add RouteStops, and other objects to maps. Custom objects such as the PushPin, BalloonPushPin and DirectionalPushPin location markers can be displayed on the map by implementing the IMapRenderer interface. To display multiple objects it is necessary to use a RendererList. Rendered objects that need to respond to mouse clicks should implement the IMapMouseHandler interface. The MapMouseEventsHandler may be used to simplify this procedure.
The Address class represents a physical address retrieved from Reverse GeoCoding. Reverse GeoCoding is the process of resolving a location to an Address. An Address may contain such information as street number, street name, city, county and state. An Address is returned by a call to ReverseGeoCode(LatLon). The GeocodeAddress class represents a LatLon and a street address. A GeocodeAddress is returned as the result of forward geocoding. Forward geocoding is the conversion of a string address to a street address containing detailed location information. GeoBase also provides a DrillDownGeoCoder class that performs a GeoCode by progressively selecting a smaller set of regions, narrowing down the search. It has the ability to query the location of a street, Street address, postcode, region, city, state or country.
A Street class represents a physical street. A Street is a collection of StreetLinks, that is, a continuous set of links that have a common name and region. Each street has a name and an array of points through which the street passes. Use the StreetData class to query a street, and specifically the location of the street and all the addresses on the street.
The Poi (point of interest) class represents a location that contains some structure, facility or service that may be of special interest. An array of Pois may be returned by a DataQuery. Use the PoiRenderer to render a Poi (see PoiType for examples) on an IMap.
The Telogis.GeoBase.Addresses namespace provides classes used to store, process and convert address data.
The GeocodeResult class is used to retrieve the raw data supplied for a geocoding operation, and the structured address data returned from the operation for easy comparison. StreetAddressData and StructuredAddressData provide methods for storing and retrieving partially and fully structured addresses, while OneLineAddressData contains an address as an unstructured single text string.
The Telogis.GeoBase.Authentication namespace provides the Authenticator class used to authenticate clients with GeoStream or web application servers. Use the GenerateAuthToken methods to retrieve an authentication token from a GeoStream server, and GenerateAuthToken to generate an authentication token from a web application server.
The Telogis.GeoBase.Clustering namespace provides classes to support generating and displaying map features in clusters when they are close together.
Use the LocalClusterLayer class to add clustering support to a local map. When creating a local cluster layer, you must supply an IClusteringAlgorithm implementation such as ColumnClustering to indicate how clusters should be formed, an IPointFeatureSource implementation to supply the map features to be clustered, a ClusterSummaryDelegate to create your own representation of clustered features, and an IClusterVisualization implementation to convert that summary representation into images that can be displayed on the map.
Whether using a local cluster layer or remote cluster layer, you can create a ClusterRenderer for the cluster layer in order to render clusters on a local map.
The Telogis.GeoBase.Concurrency namespace provides classes to support synchronous and asynchronous operations.
Use the Log class to allow your application to log general information, debug, error and incoming/outgoing messages, among others. WithCategory(String) is used to create a logger with a category name of your choosing. The LogEntry class is used to manage individual log entries passed to the LogEventHandler delegate in order to trigger an event.
See the Logging Tutorial section of this help guide for more information about logging.
The Telogis.GeoBase.Exceptions namespace provides GeoBase's exception classes representing application running errors.
The Telogis.GeoBase.Geocoding namespace contains classes and structures supporting advanced geocoding functionality. This includes AutocompleteGeocoder and supporting classes, which can be used to produce match-as-you-type geocoding solutions, and the OneLineGeoCodeArgs, StructuredGeoCodeArgs and ExtendedStructuredGeoCodeArgs classes, which can be used to encapsulate complex geocoding arguments to be passed to the GeoCoder class.
A Telogis.GeoBase.GeoFence is a closed polygon drawn over a geographical area, which may be used to define either an area of inclusion, or exclusion. The Telogis.GeoBase.GeoFence namespace provides four GeoFence classes: CircleFence, PolygonFence, RectangleFence, and StreetLinkFence which all implement the IGeoFence interface. Use the Contains method to determine if a location is within a given GeoFence.
When using multiple GeoFences, add them to a GeoFenceCollection. This will allow all the GeoFences within the collection to be queried for a location inclusion/exclusion with just one call.
The Telogis.GeoBase.ImageUtils namespace provides classes for managing images in GeoBase applications. Use the IconCache class to render Icons efficiently on maps and the ASPGraphicsUtils class to help when using Web applications such as converting bitmaps to GIFs (WriteToOutputAsGIF ) and PNGs (WriteToOutputAsPNG).
The ImageCompressor class is used to compress file sizes of images.
The Telogis.GeoBase.Indexes namespace provides classes to generate and manage simple numeric values representing fixed geographic locations.
Create a numeric value representing a LatLon point or BoundingBox area location with the HilbertIndex class. Query GeoBase with a LatLon or BoundingBox to retrieve ranges of associated values with HilbertQuery and locate the maximum and minimum values of returned ranges with HilbertRange. Render an index query visually on a map with HilbertQueryRenderer.
See the Indexing External Spatial Data section of this help guide for more information.
The Telogis.GeoBase.Mapping namespace provides the ArrowRenderer class used to construct lines and arrows along an arbitrary array of LatLon points. These lines and arrows can then be rendered on a map, the arrows pointing along the line from the first specified point toward the last.
Use the ArrowRenderer class to specify the width and color of the line; and the width, length, color and spacing of arrows along a line.
See the Rendering Arrows Tutorial for more information.
A collection of measurement objects with values and units. Currently supports only a Distance object.
The primary class in the Telogis.GeoBase.Navigation namespace is the Navigator class. This class is intended to guide the user to a given destination using regular GPS position updates from a connected GPS unit. The Navigator implements IMapRenderer to allow a calculated route to be drawn on a map.
The NavigationManager is a simple drop-in class to provide navigation services such as visual route guidance, audible announcements (NavigationEvents using the class) and GPS filtering. The NavigationManager can provide feedback using UI controls: a TurnBox to guide the user through upcoming turns and LabelBoxes to display the current address, speed, destination and ETA. These controls may be set using the SetControls(INavigationStatus) method.
For more information, see the Navigation tutorial here.
The Telogis.GeoBase.Navigation.Announcements namespace provides classes to enable the announcement of instructions and status updates during Navigation.
A collection of classes used for determining speed limits based on regional laws and regulations. Currently supports only the class RegionalSpeedLimitProfile.
A Repository is used to create a collection of data sources which your application may then use. Use a MultiRepository to represent multiple local data sources (GBFS files) and a SimpleRepository to represent a single local data source (one GBFS file). Both MultiRepository and SimpleRepository inherit from LocalRepository. For remote data sources, use the GeoStreamRepository.
See Using Repository Objects to Manage Data which can be found in the GeoBase | Data Files Concept section of this help guide.
The Telogis.GeoBase.Routing namespace provides types to create, query and optimize routes.
Optimization of routes is controlled with the RoutingStrategy. GeoBase provides RoutingStrategyFastest (which calculates the fastest route between route stops), RoutingStrategyShortest (which calculates the shortest route between route stops), and RoutingStrategyForPedestrian (which calculates the optimal route for a pedestrian). The routing strategy can be customized using the RouteCustomCostFunc delegate.
There are also a number of routing tutorials in the GeoBase | Routing Tutorial section of this help guide.
The Telogis.GeoBase.Routing.LinkEdit namespace classes LinkEdit, LinkEditDatabase, LatLonSelection, PolygonSelection and CompiledLinkEdits are used to generate a database of link edits; select links (the base units of which streets are composed); edit maximum speeds permitted when traveling along selected links (whether selected individually by location or as a collection within a polygon), and compile databases containing link edits.
See the Editing a Link's Permitted Speed tutorial for more information.
The Telogis.GeoBase.Routing.ReachableArea namespace defines classes that support computing all links within a given time or distance of a specified point.
The computation of reachable areas is handled by the ReachableArea class, which is constructed for a specific query (a given time or distance from a specified point using a specified routing strategy). Methods calculate different ways to describe the reachable area. The ReachableAreaProgress delegate allows you to supply a callback that is called periodically during calculations to provide feedback about progress.
The Telogis.GeoBase.Serialization namespace provides classes to support array and object serialization to, and deserialization from, a string.
The Telogis.GeoBase.ShapeUI namespace provides the PolygonEntity and ShapeLayer classes to support the rendering of shapes on a canvas, and the manipulation of these shapes (adding, removing and moving vertices) in real time using a mouse.
See the Manipulating Polygons Tutorial section of this help guide for more information about logging.
The Telogis.GeoBase.ShapeUI.State namespace provides classes to support the rendering of shapes.
A Traffic is a collection of traffic sources which may be queried to determine the speed of traffic along a given link. GeoBase provides support for INRIX and HERE traffic data (incident, predictive and real) as well as a HistoricalTrafficSource class. In addition to these supported data sources it is possible to create your own data source, simply by implementing the ITrafficSource interface.
The TrafficFetcher class is used to retrieve an up-to-date Traffic object based on traffic information from the Traffic's sources by providing the GetLatestTraffic(DateTime) method, which can be called synchronously, or asynchronously.
The TrafficInfo class describes a unit of traffic. A traffic unit knows only its speed. A TrafficRenderer may be used to render a specified Traffic unit on a map. The TrafficRenderer implements the IMapRenderer.
See the Traffic Tutorial in the GeoBase section of this help guide.
The Telogis.GeoBase.Transactional namespace provides classes for creating, editing, querying and filtering GeoBase Transactional (.gbtx format) databases. These databases are useful when simple database functions are needed without the need to write SQL, or when there is a need to easily display changing data on a map.
Use TransactionalRepository to create transactional databases (simple repositories that can be written to, and edited, on the fly); and Table and Record to create the tables and records that are contained within .gbtx repositories.
Use Index to create indexes that allow databases to be queried and filtered using the ContainsFilter, EqualFilter, RangeFilter and ColumnFilter classes; and EnsureTransaction to ensure that methods that touch databases are used only within valid transactions (in the event that a transaction has not been manually opened using BeginTransaction).
See the Transactional Database Tutorial which can be found in the GeoBase | Tutorials section of this help guide.
The Telogis.UI namespace provides classes to support UI control styles.