Shape Viewer Objects™ (SVO) :

Version 2.2 Alpha is now available for downloading.

A native set of Delphi Pascal components for creating GIS mapping software. Below is a list of the components and their functions.

Shape Viewer Objects is now free for both commercial and non-commercial under a new "acknowledgement-ware" agreement. Downloads come with complete source code. However, due to its extensive language features, you may want to attend a training seminars offered by Ecological Software Solutions LLC so you can be more productive with these components.

TGISReadWrite

A native spatial GIS engine. It reads and writes

  • ESRI Shape files
  • MapInfo files
  • DXF
  • ASCII files (point shapes only)
  • Any SQL database via and TDataset object or descendent.
  • Passthrough OnReadExcel specifically for Excel support.
  • Passthrough OnReadShape for support of any developer defined file type.

TSVOShapeObject (non-visual)

Basic shape object. TSVOPointShape, TSVOLineShape, TSVOPolygonShape (full support for nested shapes), and TSVOMultipointShape all are descendants of TSVOShapeObject. All TSVOShapeObjects can be created independent of, or included in, a TSVOShapeList (see below). The TSVOShapeObject class contains all the functions needed to draw itself, including unique colors and styles, on any TCanvas you choose, but added support is available when it is owned by a TSVOShapeList.

Data for polylines and polypoints is stored in a specially designed dynamic array class (not the same as using in Delphi) rather than the more traditional linked list of point shapes. The array model allows for fast loading, adding and storage of multipoint shapes, as well as providing immediate access to the vector arrays for data analysis. The dynamic array class has numerous internal functions to allow for in depth alterations of the array, including fast deleting, adding, trimming and sorting. So you can easily build and manipulate shapes at runtime in your applications, not just load them from files.

TSVOShapeList (non-visual)

Non-visual object and a descendent of abstract TPersistent. Functions as a container for TShapeObjects. Has numerous functions for managing a collection of TShapeObjects. A single TShapeList functions as a single "Layer" in TGISImage.

The ShapeList maintains most of the processing power, and contains most of the important methods used to manipulate the ShapeObjects under its control.

TSVOGISImage

A TCustomControl descendent. Used to display TShapeList layers. Change the cursor mode and you instantly have zoom, grab and move, identify shape, and even CAD support for your shapes. Support for Lat/Long and meter based (e.g. UTM) projections. Internal projection conversion. Datum conversion algorithms support via developer passing values for local datum shift's geodesics to conversion functions.

TSVODataGrid

A TDrawGrid descendent. Used to display TShapeList data. You can also link the data using a pointer to a TDataset, and display the data in a TTable, but TSVODataGrid has improved support for multiselect, copy, paste, add columns and rows, etc. and represents a format between a database and a spreadsheet. This allows your applications and your users to INTERACT with the GIS data. Can also be used as a stand alone spreadsheet grid as well, by setting it's "ownsdata" property to "true".

TDataFileList

Stores and organized your TSVOShapeLists and allows for runtime manipulation and storage.

TSVOLegend

You can display your legend information using a Windows® TListView, but for optimal control you can use the SVO TSVOLegend control.