SQbS - Prototype Application

Overview

The prototype application of the SQbS project evolved from the need to demonstrate that the developed spatial theories are appropriate to describe spatial scenes, in our context a sketch. Our goal was to build a working software prototype that was easy and intuitive to use and that has some basic sketch interpretation capabilities. Such, the application was supposed to be able to detect objects automatically and to generate and compute a relational network between these objects.

Prototype Device

The result is a PC/Windows based prototype application that lets a user draw and edit a sketch with a mouse or a pen. The current version of the application (1.1b) detects objects automatically and can differentiate between written text and drawn objects. Objects are evaluated, simplified, and classified into region and line objects. A relational network (Association Graph) consisting of a set of relevant binary object relation is generated. These relations are computed based on our spatial theory about spatial relations. Users can browse through all important parameters of detected objects and relations and view the sketch on different levels of representation. As an additional feature, the new version of Sketcho allows a user also to query a sketch against a small toy database. A database, in this context, is essentially a set of previously drawn sketches, such you can create your own database. Each sketch is stored in an ASCII file using a simple format (The format is described in the User’s Guide). Because sketches and entire databases can be re-processed, Sketcho can also use and process sketches that have been generated by alternative programs.

The theoretical foundation of the prototype is based on three research areas that have been investigated previous to the implementation.

 

Download

Currently the following files can be downloaded (via anonymous ftp):

 

Programs and Libraries:

  • Sketcho Standard Win95/98/NT (Version 1.1b, 10/2/99, ~2.8MB)
    This version includes all necessary files plus a small toy database
  • Sketcho CD Version Win95/98/NT (Version 1.1b, 10/2/99 ~21.7MB)
    This version includes, in addition to the standard version, three interactive mockups that were used to study alternative user-interaction methods for GIS (Director 5/6 movies for Windows (1),(2),(3) and Mac (1),(2),(3)). (Currently unavailable)

Additional Databases:

  • Small Toy Database (ToyDB_4, 8/15/99, ~425KB)
    This database is relatively small (70 sketches). Each sketch consists of three line and seven region objects organized in a geo-spatial fashion. (*)
  • Larger Toy Database (ToyDB_5R, 8/23/99, 2.1MB)
    This database was created using the Create Random Database function of Sketcho. It consists of 1000 sketches, each sketch is based on the same set of six simple objects. However, the location and orientation of the objects differs. (*)

    *To install an additional database, unpack at any place under the Sketcho program directory
    (e.g. under
    C:\Program Files\Sketcho\).

 

Publications concerning the prototype:

  • User’s Guide (Draft for Version 1.1b, 8/31/99)
    This documentation contains information about all functions of the prototype and many examples how to use this application. This paper was updated to reflect the current version (1.1b) of the prototype–including a description of the sketch file format.
  • Technical Report (Draft for Version 1.0c, 4/99)
    This technical report describes the concepts behind the prototype. It shows methodology and approaches of Sketcho and is more technically oriented than the User’s Guide. The current document reflects version 1.0c of the prototype.

 

Data Model

The prototype implementation is programmed in an object-oriented environment and the data model is object-oriented as well. The programming languages used are C and C++ and the implementation platform is a standard PC with a Microsoft Windows 95/98 operating system. The graphical functions rely on the MFC library (Microsoft Foundation Classes) provided with the Microsoft compiler.

Data Model

 

The general data model of the prototype application is shown in the figure above. The sketch is the highest order data object and it consists basically of drawn objects and relations between those objects. Objects on the other hand consist of primitive drawing strokes and sketch elements that are derived from these strokes.

The sketch class is the principal data storage class. Each sketch has only one single sketch object, but the application can have more than one sketch open at the same time. Each sketch object is a unique entity with its own functionality and its own data space. Originally an object is defined as a set of stokes that has been considered belonging to the same entity. A stroke is an unintelligent polygon that is created when the virtual ink starts to pour out of the pen and is closed or completed when the user lifts the pen. Sketch elements, finally, are the "intelligent" form of strokes that is, they have a type (Region, Line, or Point) and they have some higher order functionality. There are two types of relations supported by our the prototype, binary relations and multiple relations, both are derived from the same class. Obviously a binary relation links two objects and a multi relation more than two object with each other (Multiple relations so far only conceptually implemented that is they have no functionality and must be defined manually). Relations are autonomous entities within a sketch, similarly to sketched objects. The major difference between sketch objects and relations-beside interface and data space-is that objects are drawn and relations are not. That is, relations are in general not explicitly specified by the user, but derived based on the configuration of the sketch.

Sketch Processing

Levels of Abstraction

Automatic Object Association

Query Processing
à Please refer, by now, to the User’s Guide—Thanks.


[Home] [Concept] [Potential Applications] [Spatial Theory] [User Interface]
[Sketching Survey] [Prototype] [Publications] [People & Organizations] [Related Topics]

© by abl / Last updated 12/26/01