Oregon Relational Spatial Topology ORST Representation - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Oregon Relational Spatial Topology ORST Representation

Description:

Oregon Relational Spatial Topology (ORST) Representation. By. David Hunt ... ORST- DB representation for storing geometry day used within GIS applications ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 43
Provided by: JFTL
Category:

less

Transcript and Presenter's Notes

Title: Oregon Relational Spatial Topology ORST Representation


1
Oregon Relational Spatial Topology (ORST)
Representation
  • By
  • David Hunt
  • Research guided by Dr. Minoura

2
Intro
  • ORST- DB representation for storing geometry day
    used within GIS applications
  • Designed parser for a proprietary third data
    format
  • Implemented spatial manipulation features for
    polygon data

3
Technology
  • Postgres
  • PostGIS
  • PHP
  • JavaScript

4
GIS
  • Geographic Information System
  • WebGD
  • Google Earth
  • County, City, State, World

5
Applications
  • Cadastral
  • Disaster relief
  • Crime statistics
  • Commerce
  • Etc.

6
Geometry objects
  • POINT
  • X Y coordinate pair
  • (1 5)

7
Geometry objects
  • LineString/Arc
  • Collection of points
  • (11, 5 1, 5 5)

8
Geometry Objects
  • Polygon/MultiPolygon
  • Collection of lines strings
  • (((1 1, 5 1, 5 5,1 5, 1 1)))
  • First and last point must match

9
Geometry Objects
  • What is a hole?
  • (((1 1, 5 1, 5 5 , 1 5, 1 1), (2 2, 4 2, 4 4, 2
    4, 2 2)))

10
GIS Application Usage??
  • Add features
  • Points
  • Lines
  • Polygons
  • Insertion is controlled

11
Relating the Geometries
  • We have the below set of polygons.
  • How can they be related?

12
Relating the Geometries
  • Label points and arcs of each polygon
  • Give only one label for points and arcs shared by
    polygons.
  • Graphical representation of ORST.

13
Relating the Geometries
  • ORST ERD

14
(No Transcript)
15
ORST
  • Easy to use ORST if using new data.
  • What if data already exists?
  • Format not always controllable
  • What is the most common data format.
  • ESRI Shapefile

16
ESRI
  • Who is ESRI?
  • What is a shapefile?
  • Geospatial vector format
  • Does not explicitly represent topological
    relations

17
Shapefile
  • Polygons in a shapefile
  • Only polygon data
  • No arcs and points
  • MULTIPOLYGON(((7484618.05180716
    335828.990845255,7488367.78663952
    334126.654085287,7487669.20970841
    336977.533051373,7485769.42293307
    337978.739260576,7484618.05180716
    335828.990845255)))

18
Shapefile
  • How do we get Shapefile data into ORST.
  • Make a coverage
  • Use E00 Format

19
E00
  • What is E00?
  • Propriety text format representation of coverage
    data.
  • Partial publication of E00 specification has been
    done.
  • How do you get an E00 file?

20
Format of E00
  • ARC sets of data on the arcs
  • CNT center points of the polygons
  • LAB sets of labels for polygons
  • LOG coverage edit history
  • PAL repeating sets of data on the polygons
  • PRJ map projection data
  • SIN spatial index
  • TOL multiple lines defining the tolerance type,
    the tolerance status, and the tolerance value
  • TXT annotations
  • TX6/TX7 annotations
  • RXP associations of polygons within a region
    and the PAL section
  • RPL - sets of data on the polygons for regions
  • PAT attributes for polygon

21
Format of E00
  • Only ARC and RPL sections essential
  • Other sections have potential use for other
    manipulation features.

22
ARC
  • 1 1 5 1 -1 3
    3
  • 6.00000000000000E06 6.00000000000000E05
  • 6.00000000000000E06 1.00000000000000E05
  • 1.00000000000000E06 1.00000000000000E05
  • 1.00000000000000E06 6.00000000000000E05

23
ARC
  • 1 1 5 1 -1 3
    3
  • 1 coverage number not converted
  • 1 coverage ID not converted
  • 5 from node id of the first point in the
    current arc
  • 1 to node id of the last point in the current
    arc
  • -1 left polygon id of the polygon on the left
    of the arc
  • 3 right polygon id of the polygon on the
    right of the arc
  • 3 number of coordinates number of point
    geometries in the arc

24
RPL
  • 3 1.00000000000000E06 1.00000000000000E05
    6.00000000000000E06 6.00000000000000E05
  • 7 0 0 -5 0
    0
  • -4 0 0
  • 3 number of arcs in the current polygon
  • 1.00000000000000E06 x min of the current
    polygon
  • 6.00000000000000E05 y min of the current
    polygon
  • 6.00000000000000E06 x max of the current
    polygon
  • 6.00000000000000E05 y max of the current
    polygon

25
RPL
  • 7 0 0 -5 0
    0
  • -4 0 0
  • 7 Arc_Id ID of the arc contained in the
    current polygon
  • 0 From_Node_Id - not converted
  • 0 Adjacent_Polygon_Id - not converted

26
RPL
  • What if polygon has a hole?

27
Parsing E00
  • How did I use the E00 file?
  • Took advantage of the structured format to parse
    file
  • Noticed that data we worked with contained only a
    single region
  • Allowed for parsing the RPL section instead of
    PAL
  • Do not need to use data in PAT section.
  • Able to use id from original shapefile to link
    attributes.

28
Parsing E00
  • Create SQL statements to populate ORST
    representation.
  • Coordinates in ARC section populated table point
  • Used arcs contained in ARC section for table arc
  • RPL section used to populate table poly_arc
  • Table poly is populated by using the ordering of
    arcs for a polygon in the RPL section

29
Parsing E00
  • Why not use something out there?
  • Final output not compatible with ORST
  • Output just more readable
  • Converts into other formats
  • Required installing a full blown GIS application
  • Used entire file

30
What is ORST Good for
  • User can manipulate polygons while maintaining
    the relationships dynamically
  • Move Point
  • Merge Polygons
  • Split Polygon
  • Can be implemented in GIS applications that
    already support some spatial operations
  • WEBGD

31
Spatial Operations
  • Why might we desire operations such as
  • Move point
  • Merge polygons
  • Split polygon
  • Do such operations already exists?

32
Move Point
  • Currently only moving end points

33
Move Point
  • Find all arcs adjacent to point
  • Update arc geometries with new point in table arc
  • Update geometry for point in table point
  • Use arc ids to obtain all polygons affected by
    move.
  • Update geometry of polygon

34
Merge Polygons
35
Merge Polygons
  • Arcs of new polygon
  • arcs(P3) (arcs(P1) ? arcs(P2)) (arcs(P1) ?
    arcs(P2))
  • Done completely with SQL

36
Merge Polygons
  • Remove selected arc
  • Must also delete any arcs that are connected to
    this arc that share the same polygon. (case c of
    image)
  • Delete end points no longer used

37
Merge Polygons
  • Create new polygon
  • Update existing arcs left and right polygon
    attributes
  • Update polygon that arcs are associated with
  • Remove the merged polygons

38
Split Polygon
  • Single polygon becomes two polygons
  • Split line does not have to be straight
  • a) Splitting polygon P1 by intersecting arc A1
    and A3.

b) Splitting polygon P1 by intersecting arc A1
twice.
39
Split Polygon
  • Use split arc to calculate intersection points
  • Obtain arcs that were not intersected by split
  • Calculate new arcs from the split arc(s)
  • Create new polygons

40
Split Polygon
  • Insert new arcs in table arc and entries in table
    poly_arc
  • Delete split polygon
  • Update data for left or right polygon of arc(s)
    that were intersected by the split arc
  • Delete intersected arc(s)

41
Conclusion
  • Coverage data can be maintained with an
    open-source DBMS
  • Reduce errors caused by manipulation features not
    stored in a coverage representation such as ORST.

42
QA
  • Thanks
  • Have a great Labor Day
Write a Comment
User Comments (0)
About PowerShow.com