Follow DMPInc on Twitter     

SpatialStream™ Components & Utilities

The SpatialStream™ spatial platform allows developers to quickly and easily spatially enable their applications. SpatialStream™ is composed of Components (APIs and web services) and Utilities that deliver spatial functionality and data to map-based applications.

Listed below are definitions of the Components and Utilities that make up the SpatialStream™ spatial platform. Included after each description are links to the Component or Utility's sample and/or videos that illustrate the functionality and best practices for its implementation.


SpatialStream™ Components

  • AddressLoader: A type of DataLoader used to upload a text file containing address fields and other data fields relevant to the address data set. Addresses are mapped to a physical location with an integrated (parcel-point default) geocoder. Addresses are loaded into a resource (layer) that is available for map display, thematic display, query, and analysis. AddressLoader can also be used to update a previously loaded data set; new and/or modified records are appended to the existing resource (layer).

  • Animated Layer: A layer that contains data corresponding to the time periods defined in the time dimension of a Rollup (see below). The data for each time period can be thematically displayed in an animated sequence on the map for easy, visual temporal trend analysis. This Component also includes client Components that facilitate the playing of the layer.

    View Video

  • Attribute Chaining: The process of linking data by a shared value key between two resources within an account. With Attribute Chaining, a request for data about an object can include attributes of objects that are related to the subject object. This information can be retrieved in a single call, rather than by returning the field value of the subject object and then having to perform a separate query, with the overhead of multiple http requests.

    View Sample

  • BrowseLayers: A web service used to retrieve layer metadata for all of the layers a given user has access to. A filter can also be passed to return only the metadata for one specific layer.

    View Sample

  • BrowsePath: A web service used to retrieve file names located in a specific DMP folder. A filter can also be passed in to return only the files that match the filter parameters.

    View Sample

  • Census Boundaries: A data web service that provides access to nationwide census boundary data. With the SpatialStream™ Census Boundaries data component you can add nationwide census boundaries to your mapping application in minutes and use them for advanced mapping functions such as data aggregation, trend mapping, and data linking. Census data includes: tract, block group, block boundaries and unique IDs to link boundaries to demographic data.

    View Samples

  • City Boundaries: A data web service that provides access to nationwide city boundary data. With the SpatialStream™ City Boundaries data component you can add nationwide city boundaries to your mapping application in minutes and use them for advanced mapping functions such as search, data aggregation, trend mapping, and data linking. City data includes: boundaries, names, parent geography, polygons and centroids.

    View Samples

  • Commands: A base class object for customizable function assigned by the application that can be used with features on the map. Commands allows for the definition and display of custom links (commands) on a per user/group/account/application/layer basis.

  • CoordinateLoader: A type of DataLoader used to upload a text file that already contains point locations (lat/long), and other data fields relevant to the coordinate data set. Points are loaded into a resource (layer) that is available for map display, thematic display, query, and analysis. CoordinateLoader can also be used to update a previously loaded data set; new, and/or modified records are appended to the existing resource (layer).

  • County Boundaries: A data web service that provides access to nationwide county boundary data. With the SpatialStream™ County Boundaries data component you can add nationwide county boundaries to your mapping application in minutes and use them for advanced mapping functions such as search, data aggregation, trend mapping, and data linking. County data includes: boundaries, names, parent geography, polygons and centroids.

    View Samples

  • DataSynchronize: Provides a programmable interface to keep data in SpatialStream™ synchronized with the original source of the data with minimal impact to the originating system(s). This allows for the integration of multiple data sets from disparate systems into a consistent and reliable interface and ensures the data displayed in your application is current. Updates can be programmed for any time interval and if preferred, only a subset of fields from the original data source can be synchronized.

    View Sample

  • Drawing Tools: Provides browser based drawing and GIS editing capabilities that go beyond the base functionality of consumer mapping platforms.

    View Sample

  • DrillDown: A specialized type of Relationship Manager that is able to navigate the dimensions of a Rollup (see below). A DrillDown is able to navigate down the hierarchy of the dimensions for a particular Rollup area and look at summary information broken down by pre-defined classifications for each dimension. Summary data along any hierarchical branch can be retrieved in a single call.

    View Video

  • GetByGeometry: A web service that can be used to retrieve records intersecting a given geometry. It can also return related records through the use of resource chaining.

    View Sample

  • GetByKey: A web service that returns any records (for a single resource) that match a specified key (or set of keys) and value(s). The service also allows for the selection of only specific attributes to display; a geometry may also be given in order to return only intersecting results. Moreover, the service can perform Attribute Chaining and Spatial Chaining, allowing any related source's records to be returned along with the first resource's records, all in a single call.

    View Sample

  • GetFile: A web service that is used to return the contents of a specified file within a DMP folder. Used in conjunction with PutFile data can be written to a specific DMP user folder and retrieved for later use in your application.

  • GetGeocode: An interactive geocoding web service that can be used to retrieve the best possible physical location, and information about that location, given an address. GetGeocode supports multiple address data sources, including user-defined/corrected address locations, and together with the drawing tools, transaction engine, and publishing capability, supports the management of best-of-class location information.

    View Sample

  • GetMap: A web service that enables the fast rendering of data on the map in order to support data visualization requirements. GetMap is able to thematically render data based on attributes of the layer or attributes of information related to the layer. It supports advanced multi-dimensional rendering where different data dimensions can affect different style dimensions via Stylized Layer Descriptors (see below) and user defined symbol decorators via SVG (see below).

    View Sample

  • GetQuery: A web service that enables advanced spatial and aspatial queries and context queries against SQL based (transactional) data. Queries include those using inclusion and exclusion geometries, as well as those using a buffer of a selected feature. Query results can be thematically displayed, just as with any other layer.

    View Sample

  • HotSpot Identify: A query API which is based on pixel coordinates rather than geographic coordinates. This is a highly useful service when the map display has a high density of symbols as it produces a far more accurate query when a symbol is identified and the associated record returned.

  • Layer: A layer is a client-side object responsible for making requests to the server to query on and/or display a server-side layer. It simplifies the manipulation of layers on the map. It may also contain Layer Metadata and/or styling (SLD) information.

    View Sample

  • Layer Management: An interface that allows application developers to update, create, delete, and restore layers. This Component facilitates the management of map layers.

  • LayerInfo: A web service used to retrieve basic statistical information for values in layer fields and/or to retrieve the bounds of the layer. It also can be used to sort data in a given field based on the desired classification method and number of classes which is necessary for advanced thematic display of data.

  • Legend: A web service that generates legend images based on the layer style (SLD - see below). This is a small image representing how a layer will look when displayed.

    View Sample

  • Map Composition: A Map Composition File is an XML definition that contains the layers that are used for a map display. Multiple layers with different SLD and zoom levels can be added to a single Map Composition File. You can then use the Map Composition File as a way to add multiple layers at one time. This approach is an ideal means to organize map display themes and separates the map content from the application.

    View Sample

  • Neighborhood Boundaries: A data web service that provides access to nationwide neighborhood boundary data from industry leader, Maponics. With the SpatialStream™ Neighborhood Boundaries data component you can easily display neighborhood boundaries in your online mapping application. You can also add neighborhood name labels and even create thematic maps using your data summarized to neighborhood boundaries. Neighborhood data includes: boundaries, 3-level neighborhood hierarchy, centroids, and names and is updated quarterly.

    View Samples

  • Operations Manager: A productivity tool that provides a framework for allowing stateful client-side Components, most notably multi-level undo/redo for the drawing tools. An application using Operations Manager is able to combine a set of updates into a single reversible operation (undo). Operations Manager automatically integrates with the TransactionEngine for persisted actions. Operations Manager stays active for the entire client session and supports changes of granularity of undo operations as an object changes states.

    View Sample

  • ParcelStream™: A web service that provides a fast, easy and economical solution to parcel-enable web applications. In only seven lines of code, you can display parcel boundary lines in your online mapping application. The API allows you to instantly display parcel boundary lines, geocode addresses to tie parcel boundary data to an accurate and precise location, and provide interactivity to parcel boundary data.

    View Samples

  • Postal Code Boundaries: A data web service that provides access to nationwide postal code boundary data. With the SpatialStream™ Postal Code Boundaries data component you can add nationwide postal code boundaries to your mapping application in minutes and use them for advanced mapping functions such as search, data aggregation, trend mapping, and data linking. Postal Code data includes: boundaries, names, parent geography, polygons and centroids.

    View Samples

  • PutFile: A web service that is used write data to a file within a specified DMP Folder. Used in conjunction with GetFile data can be written to a specific DMP user folder and retrieved for later use in your application.

  • Publish: Creates a snapshot from transactional data to a spatial data set optimized for high volume access, minimizing cost per hit, maximizing end-user performance, and maximizing data distribution and availability. The publish process also provides control over what data is made available for public access, and allows procedural controls to be put into place. Published data can support very large data sets containing hundreds of millions of records. Data is optimized for different scales of viewing, and high performance is maintained regardless of data complexity. For very large data sets published data can be incrementally updated based on partitioned attributes.

    View Samples

  • Rollups: Combines Business Intelligence with advanced spatial processing to create statistical aggregates of large data based on overlaying polygonal boundaries. Data can be summarized by multiple dimensions. Rollups are easily populated with any of the Data Loaders and the contents of the multi-dimensional data cube can be thematically mapped, queried and accessed for charts or interactive queries (via attribute chaining/drill down). Quickly navigate from a summary view of data to a detailed view and even to the actual data points. Rollups can be animated to facilitate temporal trend analysis.

    View Video

  • Scalable Vector Graphics (SVG): Format used for symbols in SpatialStream™. The format allows easy modification of attributes (such as color, opacity, line width, line style, and visability) of individual symbol features. SVGs can be scaled without pixelation issues that can occur with conventional raster image formats such as PNG, JPG and BMP. SpatialStream™ has extended its support of SVGs to include support of decorators which allow control of discrete portions of the SVG rendering based on attributes associated with the feature it represents. The behavior of SVGs and their decorators are under the control of the developer.

    View Sample

  • ShapeLoader: A type of DataLoader used to upload Shape files. Records are loaded into a layer that is available for map display, thematic display, query, and analysis. Additionally, data sets loaded via ShapeLoader are available as a geometry resource for TableLoader (see below).

  • Spatial Chaining: The process that links to data by the location of the object and the relationship in geographic space to other objects. With Spatial Chaining a request for data about an object can include attributes of objects that intersect or overlay that object. This information can be retrieved in a single call rather than returning the geometry of the subject object and then having to perform a separate query, with the overhead of multiple http requests.

  • State Boundaries: A data web service that provides access to nationwide state boundary data. With the SpatialStream™ State Boundaries data component you can add nationwide state boundaries to your mapping application in minutes and use them for advanced mapping functions such as data aggregation, trend mapping, and data linking. State data includes: boundaries, names, parent geography, polygons and centroids.

    View Samples

  • Stylized Layer Descriptor (SLD): An XML file that describes the style (such as color, size and angle) that will be applied to a particular layer and/or its features. SpatialStream™ has extended its support of SLDs to achieve additional functionality in the advanced thematic display of data, such as support of ramping and SVG Decorators.

  • View Sample

  • SurfaceTransformer: A Component that takes a record object and converts it into a UI element. This involves formatting the raw data and deciding exactly how and where to display the data. It does not include the actual process of fetching the data, however, it does specify exactly what data is required for the display.

    View Sample

  • TableLoader: A type of DataLoader used to upload tabular data sets that can then be linked to existing spatial data sets through relationships. Records are loaded into a resource (layer) that is available for linking, map display, thematic display, query, and analysis. TableLoader also can be used to update a previously loaded data set; new and/or modified records are appended to the existing resource (layer). This is a powerful tool that allows you to spatially enable your tabular data sets.

  • TaxLink™: A data pre-matching solution that relates commercial vendors' property data to parcel data bringing greater location integrity to your application, enhancing map-based data retrieval. TaxLink™ leverages sophisticated and proprietary data matching processes. With TaxLink™, property data can be thematically rendered on the map.

  • Thematic Mapper: A back-end control that allows developers to easily apply rich multivariate thematics to any and all data layers in their account. These styles are persisted and then used in the client application. It simplifies the process of creating an SLD for a layer.

    View Sample

  • Transaction Chaining: A relationship manager that links to transaction history for a record, showing last user edit and check-in date and time.

  • TransactionEngine: Allows for interactive and efficient editing of spatial data and the editing of attributes associated with spatial data. Changes to the spatial data will be private to the user until the user checks them in. The entire transactional history of the data set is maintained. On every insert, update or delete of a record, information about the user and date is recorded. Transactions are grouped into versions so that changes made across multiple resources may be checked in as a group.

    View Video

  • UserFile Management:


SpatialStream™ Helper Utilities

  • DataLoader UI: A UI Component that brings up the DataLoader services (ShapeLoader, AddressLoader, CoordinateLoader, TableLoader). This UI allows users to view the upload progress and will also give informative messages regarding completion, failures and/or errors. This UI Component is available in both Ajax and Silverlight versions.

  • Drilldown UI: A UI Component that launches the DrillDown functionality. This user interface can be launched from a custom command. This UI Component is available in both Ajax and Silverlight versions.

  • Grid: The grid is a table-like control used for displaying search results that interact with the geometry results displayed on the map. The grid Utility exhibits two-way map/grid interactivity where action in the grid invokes action on the map and vice versa. Its display is customizable on a per-user, per-application and/or per-layer basis. The grid is scrollable, resizable and sortable.

  • Identify: A client-side Component that handles the process of making multiple queries to the server on a set of layers and the return of those results. It has the concept of an "active" layer, returning the results of that layer as soon as the query is complete, regardless of whether or not the other queries have been completed. If the active layer does not return any results, then Identify will return the first set of results it gets back.

  • Ledger: The ledger is a display area that is used for the full display of all attributes associated with a record, all commands associated with a record, as well as a general display area for any UI Components that require a large display area. This UI Component is available in both Ajax and Silverlight versions.

  • Legend UI: Displays the list of layers currently available in the application for a particular user. It also allows the user to turn layers on/off, reorder them, invoke certain commands on them, view an image representing how the layer is styled, and browse a list of all available layers. This UI Component is available in both Ajax and Silverlight versions.

  • SymbolPicker: A UI Component that displays a list of SVG (see above) images for a user to select when thematically displaying point data on the map or creating spatial data. It will display all SVG symbols under a given folder with each subfolder receiving its own section. This UI Component is available in both Ajax and Silverlight versions.

  • Symbols: A collection of common use symbols for a series of industry specific solutions, including real estate, local government, utilities, public safety, and land and commercial development. Symbols are in the SVG format and are organized into libraries based on application domain. Developers can create their own symbol libraries. Symbols include decorators required for typical interactive use.

  • Time-BasedAnimator UI: Can be used for the display of Rollups (see above), or more specifically, to change the time dimension of a Rollup. This UI Component is available in both Ajax and Silverlight versions.