[DAS2] locations and writeback behavior

Andrew Dalke dalke at dalkescientific.com
Sat Aug 19 14:04:31 UTC 2006


Assume there is the requirement that parent node locations must
cover children locations.  What does the server do on writeback
for the following circumstances:

Case #1. the parent feature has no locations

Foo: -- no locations --
   Bar: (10, 20)
   Baz: (50, 60)

Here are 6 possibilities:
   1. reject the writeback
   2. accept it and use an implicit location of (10, 60)
        (implicit means the record is not modified and clients
         downloading feature Foo will not get any locations for it
         but the server will act as if it was present.)
   3. accept it and use an implicit location of [(10, 20), (50, 60)]
   4. accept it and insert the location (10, 60) (explict; clients
         fetching feature Foo will see the server inserted locations)
   5. accept it and explicitly insert the locations [(10, 20), (50, 60)]
   6. accept it unchanged; range searches will always fail because
       the root node has no locations

Case #2. the parent feature has a location which does not overlap
  all of the children

Foo: (15, 85)
   Bar: (10, 20)
   Baz: (50, 60)


Case #3: the parent has multiple locations; the parent's locations
    overlap those of the children

Foo: (10, 30), (40, 66), (543, 567)
   Bar: (10, 20)
   Baz: (50, 60)


Case #4: the parent has a single location which is broader than
   those of the children

Foo: (10, 567)
   Bar: (10, 20)
   Baz: (50, 60)


Case #5: the children contain multiple locations, the parent
     covers them all
Foo: (10, 100)
   Bar: (10, 20), (22, 24)
   Baz: (50, 60), (70, 80)


The server already does some validation for cyclic detection.
It can easily check for ranges as well.  As I understand things
the answers should be:
   Case #1: reject (parent must cover all children locations)
   Case #2: reject (parent must cover all children locations)
   Case #3: reject (parent can only have a single location per segment)
   Case #4: accept, and use the broader range
   Case #5: accept (leaves and leaves only may have multiple
                       locations on the same segment)

and the reasons for these answers are:
   - it doesn't make sense to have location-less parents when
       the children don't have locations
   - it makes the search algorithm work correctly

					Andrew
					dalke at dalkescientific.com




More information about the DAS2 mailing list