Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Basics of data handling in Weave


Selections


One important thing to get your head around in Weave is the The concept of the separation of searching and reporting is an important concept in Weave.

In way of an For example, think of how users use search engines like Google where they users search for something and get back the results. There's The only ever one way to search , type is by typing something in the box, and one type of result displayed, ; a page of top search results.


But In contrast, with Weave you have a multitude of there are multiple ways of searching for things and a multitude of ways of displaying the search results. “Searching” could be preformed by drawing a polygon on a map to find all the things that fall within that polygon, or by typing in an address to search a database find the matching properties, or even by having a third party system sending a list of unique identifiers. And “Reporting” could be a as simple as displaying a list of the owner names of the found properties, or generating a PDF report describing the history of the property, or sending a list of unique identifiers to another third party system.

...

Because of this separation and the use of a current selection, searching can be combined or split across multiple systems, for . For example, a user is may be working in a property management system and has may have selected a number of properties, they . They then send this selection to Weave (searching by third party system) which updates the current selection for properties, . They then they perform a spatial intersection operation in Weave to refine the selection of properties to only those that fall within a flood zone (searching via spatial operation), then perform an attribute search to further refine the selected properties to those that are listed in the residents database as being over 65 years old (searching via SQL). Then they display the textual list of owners of the properties (reporting from SQL) to give it a once over before finally generating a flood warning mail merge based on the final list of selected properties (reporting from document) and send those to the residents warning then that evacuating sooner rather than later may be a good ideaadvising them to evacuate.


To facilitate this Weave uses the concept of a current selection, where each entity you want to work with in Weave is associated with a list of unique identifiers that represent the entities that the user has searched for and is reporting on. This list of identifiers can come from anywhere and as long as each system Weave connects to uses the same identifiers to represent the same entity then Weave can work with those systems to perform searching and reporting.


So In summary, a central principal in Weave is the entity, which is nothing more than an internal id , and a user facing label and . A selection is simply a list of identifiers that represent the current selectionbelong to an entity.


Spatial Operation


If you want to be able to work spatially with an entity Before spatial operations (select by polygon, zoom to on a map, etc) you need to tell Weave what layer/table in a spatial engine can be used to represent the entity and what  can be performed against an entity, a spatial engine must be configured telling Weave of the relationship between the layer/table and the entity and a table column (the key column) in the layer/table can be used must be specified to uniquely identify items under each entity, this . This is done be by creating a spatial mapping item in the configuration file.

Once a spatial mapping is setup for an entity then when you do a in place, spatial operations such as select by polygon, a boundary intersection , a buffer operation, etc, it's the and buffer operations result in key column values that are being written to the current selection for under the entity, thereby updating the current selection for that entity. Going the other way, if you want to zoom to the extent of the current selection or highlight the selection on the map, then the list of unique identifiers stored in the current selection for the entity is relevant entity. Conversely, zoom to current selection and highlight selection on a map causes the unique identifiers in the current selection to be used as the basis for performing a query in the spatial engine for geometry a geometry that matches the list of id's.



Note

You don't actually need It is not always required to specify a spatial mapping to work with an entity in Weave, but you won't be able this is necessary to display the entities' location on the map or select the entities using spatial operations. It's in fact possible to setup an entire Weave client without a map or any spatial entities and have the user work purely with the textual attributes of the entities.


The spatial operation operations on the client are represented with the "select/reselect/unselect by point/line/polygon/circle/rectangle" tools, along with various buffer and spatial intersection tools and setup using the Spatial Mapper configuration item.

...