SQL/SDA: A Query Language for Supporting Spatial Data Analysis and Its Web-Based Implementation Written by: Hui Lin Bo Huang IEEE Transaction of Knowledge and Data Engineering (TKDE), July/August, 2001. Presented by Shan Huang (Group 2) Slides Available at http://www.users.cs.umn.edu/~joh/csci8715/HW-list.htmTopics:MotivationMotivation (contd.)Problem StatementMajor ContributionKey ConceptsKey Concepts (contd.)OGIS vs. SQL/SDAFROM ClauseSlide 11Slide 12Slide 13Slide 14Key Concepts (contd.) Implementation of SQL/SDA on the WebValidation MethodologyAssumptionRewriteThanks!SQL/SDA: A Query Language for Supporting Spatial Data Analysis and Its Web-Based Implementation Written by: Hui LinBo HuangIEEE Transaction of Knowledge and Data Engineering (TKDE), July/August, 2001.Presented by Shan Huang (Group 2)Slides Available at http://www.users.cs.umn.edu/~joh/csci8715/HW-list.htmTopics:MotivationProblem StatementMajor ContributionKey ConceptValidation MethodologyAssumption RewriteMotivationLimited GIS-based decision-making Spatial analysis functionsno effective interface to support user requestCurrent spatial query language (Spatially Extended SQLs)Representation of spatial dataManagement of spatial dataComplexity of current GIS-softwareMotivation (contd.)Find a land parcels suitable for growing coffee.Evaluation criteria temperature, altitudes, area >1000, etc.Problem StatementGivenSpatial DataSpatial Data TypeSpatial Data Analysis FunctionFindExtensions to SQLWeb-based Interface for Spatial Data AnalysisConstrainsRelational DatabaseSQL with Geometry TypesObjectiveEasy to useEfficientEase of Expressing Spatial QuestionsMajor ContributionSQL/SDARestructuring the FROM ClauseVisual Interface and Hybrid ModelTakes advantage of the Web GIS Design in Client/Server EnvironmentClient – provides a query interfaceServer – carry out query processing on spatial databasesKey ConceptsSpatial FeatureSpatial attributes (e.g., coordinates and topological relationships)Non-Spatial attributes (e.g., name and size)Spatial Data TypeGeometry: Point, Linestring, Polygon, CollectionCollection: Multipoint, Multilinestring, MultipolygonKey Concepts (contd.)Spatial Analysis FunctionsFunction Purpose Function NameProperty Access properties of spatial featuresAREA, LENGTH, CENTROIDSpatial Relationship Test spatial relationshipsEQUALS, DISJOINT, TOUCH, WITHIN, OVERLAP, CROSS, INTERSECTS, CONTAINS Metric Calculate distance and directionDISTANCE, DIRECTIONDerivation Create a new set of spatial features VORONOI, BUFFER, CONVEXHULL, INTERSECTION, DIFFERENCE, UNION, FUSIONOGIS SQL/SDASpatial datatypesPoint, Curve, Surface, MultiPoin, MultiCurve, MultiSurfacePoint, Curve, Surface, MultiPoin, MultiCurve, MultiSurfaceSpatial operationsBasic topological and metric spatial relationshipsRicher set of operationsCENTROID, DIRECTION, FUSION OGIS vs. SQL/SDAFROM ClauseStructure and Syntax of SQL/SDAAlign with the SQL design conceptSELECT - projectionFROM - Cartesian productWHERE - selection Restructured FROM Clause Employ a subqueryCreate an intermediate relation as a new derived attributesAppend attributes to the Cartesian productKey Concepts (contd.)Example of SQL/SDA queryDisplay the land parcels and their corresponding area on the condition that the landuse type of each parcels brush land and soil type is ‘A’ and area is between 700 hectares to 900 hectares landuse(ID, Type, Location) soil (ID, type, Location) SELECT lu.ID, sl.ID, ILocation, areaval FROM ( SELECT *, OVERLAP ( lu.Location, sl.Location ) AS overlapval, INTERSECTION ( lu.location,sl.location ) AS iLocation, AREA (iLocation) AS areaval FROM landuse as lu, soil AS sl ) WHERE lu.type = ‘Brushland’ AND sl.type = ‘A’ AND overlapval = True AND areaval > 700 AND areaval < 900View.In SQL, this is called inline view.Key Concepts (contd.)CREATE VIEW LandArea AS SELECT lu.ID AS landID, sl.ID AS soidID, OVERLAP ( lu.Location, sl.Location ) AS overlapval, INTERSECTION ( lu.location,sl.location ) AS iLocation, AREA (iLocation) AS areaval FROM landuse as lu, soil AS sl WHERE lu.type = ‘Brushland’ AND sl.type = ‘A’SELECT landID, soidID, iLocation, areaval FROM LandAreaWHERE overlapval = True AND areaval > 700 AND areaval < 900Key Concepts (contd.)Solution Fig.2. The intermediate relation of the FROM clause in queryKey Concepts (contd.)Solution (contd.)Fig. 3. The result of queryKey Concepts (contd.)Implementation of SQL/SDA on the Web Clientprovides query interfaceServer Query processor and Spatial Database Engine (SDE)carry out query processingValidation Methodology+ Examples of SQL/SDA queries+ Case StudyMacro Languages of GISDifficult to learnNo optimization strategyPrevious Spatially Extended SQLs (SESOL)spatial relationship and metric constrains, derivation functions are not accommodatedSpatial functions are applied in the main SELECT or WHERE clauseAssumptionSpatial indexing is already provided by Spatial Data Engine (SDE) Users familiar with SQL and relational databasefamiliar with spatial data types and operationsRewritePerform user studies to evaluate the ease of expressing spatial queriesMaking the query interface more friendlierQuery
View Full Document