f8959342605197596caa30b7ff091131.ppt

- Количество слайдов: 72

Geog 480: Principles of GIS Guofeng Cao Cyber. Infrastructure and Geospatial Information Laboratory Department of Geography National Center for Supercomputing Applications (NCSA) University of Illinois at Urbana-Champaign

What we have learned • Euclidean Space o o Point, polyline, polygon Monotone chain Convex polygon, semi-convex polygon, concave polygon, monotone polygon Triangulation, Art Gallery Problem • Set-based Geometry of Space o Convexity o Convex Hull • Topology of Space o Define a topology, topological invariants o Euler formula • Network Spaces o Planar Graph

What we have learned • Metric Space • Fractal Space o Koch snowflake • SQL o Join, create view

Models of Geospatial Information

Ontology • Ontology: the study of general classifications of, and relationships between, those things that exist in the world • A basic ontological distinction is the division of the world into entities that have identities (objects) and entities that occur in time (events) • Objects or continuants, may be categorized as substances, parts of substances, aggregates of substances, locations for substances, and properties of substances o The Earth constitutes a substance; the surface of the Earth is part of the Earth; the solar system is an aggregate of planets; the USA is a location; and the Earth’s total land area is a property of the Earth • A philosophical discipline • Example: Fiat and bona fide boundaries

Modeling • We are interested in modeling parts of the geographic world • An understanding of basic ontological distinctions can help us avoid some basic modeling mistakes such as: o Failing to distinguish real-world entities from information system entities o Failing to distinguish substances from their properties Example A forest, the location of the forest, and the land-cover type “forested” fall in distinct ontological categories

Ontology vs. Modeling • Key distinctions: o Ontology aims to develop general taxonomies of what exists o Data modeling aims to develop classifications within a particular application domain • Examples: o The distinction between substance and property is not a data modeling issue o The decision to represent a road in a navigation system as a polyline or as an area is a data modeling question

Models • Model: an artificial construction in which parts of one domain, the source domain, are represented in another domain, the target domain o Purpose is to simplify and abstract away from the source domain o Constituents of the source domain are translated by the model into the target domain o Insight, results and computations in the target domain may then be interpreted in the source domain. o Usefulness is determined by how closely the model can simulate the source domain, and how easy it is to move between the two domains

Morphism • Morphism: a function from one domain to another that preserves some of the structure in the translation Example Cartography and wayfinding: The geographic world is the source domain, modeled by a map (target domain)

Types of models • Field-based model: treats geographic information as collections of spatial distributions o Distribution may be formalized as a mathematical function from a spatial framework to an attribute domain o Patterns of topographic altitudes, rainfall, and temperature fit neatly into this view. • Object-based model: treats the space as populated by discrete, identifiable entities each with a geospatial reference o Buildings or roads fit into this view

Relational model • Tuples recording annual weather conditions at different locations The field-based and object-based approaches are attempts to impose structure and pattern on such data.

Field-based approach • Treats information as a collection of fields o Each field defines the spatial variation of an attribute as a function from the set of locations to an attribute domain

Object-based approach • Clumps a relation as single or groups of tuples o Certain groups of measurements of climatic variables can be grouped together into a finite set of types

Object-based Example

Spatial Point Pattern • series of point locations with recorded “events", e. g. , locations of trees, locations of tweets, disease or crime incidents • point locations correspond to all possible events (mapped point pattern), or to subsets (sampled point pattern) • attribute values also possible at same locations, e. g. , tree diameter, magnitude of earthquakes (marked point pattern)

Spatial Point Pattern Example

Spatial framework • Spatial framework: a partition of a region of space, forming a finite tessellation of spatial objects • In the plane, the elements of a spatial framework are polygons • Must be a finite structure for computational purposes o Often the application domain will not be finite and sampling is necessary o Imprecision is introduced by the sampling process

Layers • Layer: the combination of the spatial framework and the field that assigns values for each location in the framework o There may be many layers in a spatial database

Spatial fields • If the spatial framework is a Euclidean plane and the attribute domain is a subset of the set of real numbers; o The Euclidean plane plays the role of the horizontal xy-plane o The spatial field values give the z-coordinates, or “heights” above the plane Regional Climate Variations Imagine placing a square grid over a region and measuring aspects of the climate at each node of the grid. Different fields would then associate locations with values from each of the measured attribute domains.

Properties of the attribute domain • The attribute domain may contain values which are commonly classified into four levels of measurement o Nominal attribute: simple labels; qualitative; cannot be ordered; and arithmetic operators are not permissible o Ordinal attribute: ordered labels; qualitative; and cannot be subjected to arithmetic operators, apart from ordering o Interval attributes: quantities on a scale without any fixed point; can be compared for size, with the magnitude of the difference being meaningful; the ratio of two interval attributes values is not meaningful o Ratio attributes: quantities on a scale with respect to a fixed point; can support a wide range of arithmetical operations, including addition, subtraction, multiplication, and division

Continuous and differentiable fields • Continuous field: small changes in location leads to small changes in the corresponding attribute value • Differentiable field: rate of change (slope) is defined everywhere • Spatial framework and attribute domain must be continuous for both these types of fields • Every differentiable field must also be continuous, but not every continuous field is differentiable

One dimensional examples • Fields may be plotted as a graph of attribute value against spatial framework Continuous and differentiable; the slope of the curve can be defined at every point

One dimensional examples The field is continuous (the graph is connected) but not everywhere differentiable. There is an ambiguity in the slope, with two choices at the articulation point between the two straight line segments. Continuous and not differentiable; the slope of the curve cannot be defined at one or more points

One dimensional examples The graph is not connected and so the field in not continuous and not differentiable. Not continuous and not differentiable

Two dimensional examples • The slope is dependent on the particular location and on the bearing at that location

Isotropic fields • A field whose properties are independent of direction is called an isotropic field • Consider travel time in a spatial framework o The time from X to any point Y is dependent only upon the distance between X and Y and independent of the bearing of Y from X

Anisotropic fields • A field whose properties are dependent on direction is called an anisotropic field. • Suppose there is a high speed link AB o For points near B it would be better, if traveling from X, to travel to A, take the link, and continue on from B to the destination o The direction to the destination is important

Spatial autocorrelation • Spatial autocorrelation is a quantitative expression of Tobler’s first law of geography (1970) o “Everything is related to everything else, but near things are more related than distant thing” o Spatial autocorrelation measures the degree of clustering of values in a spatial field • Also termed as spatial dependency, spatial pattern, spatial context, spatial similarity, spatial dissimilarity…

Autocorrelation If like values tend to cluster together, then the field exhibits high positive spatial autocorrelation If there is no apparent relationship between attribute value and location there is zero spatial autocorrelation If like values tend to be located away from each other, then there is negative spatial autocorrelation

Example • Spatial patterns can make HUGE differences

Operations on fields • A field operation takes as input one or more fields and returns a resultant field • The system of possible operations on fields in a field-based model is referred to as map algebra • Three main classes of operations o Local o Focal o Zonal

Neighborhood function • Given a spatial framework F, a neighborhood function n is a function that associates with each location x a set of locations that are “near” to x

Local operations • Local operation: acts upon one or more spatial fields to produce a new field • The value of the new field at any location is dependent on the values of the input field function at that location ● is any binary operation

Focal operations • Focal operation: the attribute value derived at a location x may depend on the attributes of the input spatial field functions at x and the attributes of these functions in the neighborhood n(x) of x

Zonal operations • Zonal operation: aggregates values of a field over a set of zones (arising in general from another field function) in the spatial framework • For each location x: Find the Zone Zi in which x is contained Compute the values of the field function f applied to each point in Zi Derive a single value ζ(x) of the new field from the values computed in step 2

Entity and literals • Object-based models decompose an information space into objects or entities • An entity must be: o Identifiable o Relevant (be of interest) o Describable (have characteristics) • The frame of spatial reference is provided by the entities themselves • Literals have an immutable state that cannot be created, changed, or destroyed

House object Has several attributes, such as registration date, address, owner and boundary, which are themselves objects

House object The actual values of these attributes are literals • If the house is registered to a new owner, we may change the registration attribute to a new date, however, the date November 5 th, 1994” still exists as a date

Spatial objects • Spatial objects are called “spatial” because they exist inside “space”, called the embedding space • A set of primitive objects can be specified, out of which all others in the application domain can be constructed, using an agreed set of operations • Point-line-polygon primitives are common in existing systems

GIS analysis • For Italy’s capital city, Rome, calculate the total length of the River Tiber which lies within 2. 5 km of the Colosseum o First we need to model the relevant parts of Rome as objects o Operation length will act on arc, and intersect will apply to form the piece of the arc in common with the disc

GIS analysis • A process of discretization must convert the objects to types that are computationally tractable • A circle may be represented as a discrete polygonal area, arcs by chains of line segments, and points may be embedded in some discrete space

Spatial object types in the Euclidean plane • The most general spatial object type spatial is at the top of the hierarchy Spatial type is the disjoint union of types point and extent Class extent may be specialized by dimension into types 1 - extent and 2 extent Two sub types of the one dimensional extents are described as arc and loop, specializing to simple arc and simple loop when there are no self-crossings

Spatial object types in the Euclidean plane The fundamental areal object is area A connected area is a region A region that is simply connected is a cell

Topological spatial operations • Object types with an assumed underlying topology are point, arc, loop and area • Operations: o boundary, interior, closure and connected are defined in the usual manner o components returns the set of maximal connected components of an area o extremes acts on each object of type arc and returns the pair of points of the arc that constitute its end points o is within provides a relationship between a point and a simple loop, returning true if the point is enclosed by the loop

Topological spatial operations for areas o X meets Y if X and Y touch externally in a common portion of their boundaries o X overlaps Y if X and Y impinge into each other’s interiors

Topological spatial operations for areas o X is inside Y if X is a subset of Y and X, Y do not share a common portion of boundary o X covers Y if Y is a subset of X and X, Y touch externally in a common portion of their boundaries

Topological spatial operations • There an infinite number of possible topological relationships that are available between objects of type cell

Euclidean spatial operations • Operation centroid returns the center of gravity of an areal object as an object of type point • Distances and angles are defined between the point elements of the space Measurements between objects of different dimensions Some ambiguities exist in finding the distance of a town form a motorway. Do we mean the town center or the town as an area? Are we measuring distance along roads, as the crow flies, or by some other means? These ambiguities must be resolved before the question can be answered properly.

Operations on spatial objects • All of these spatial operations can be thought of as operations on spatial literals. The operands are not affected by the application of the operation o For example, calculating the length of an arc cannot affect the arc itself • Another class of spatial operation acts upon spatially referenced objects, and alters the state of those objects o Create o Destroy o Update

Formal theories of spatial objects • • • It is possible to provide formal theories for spatial relationships that have very general interpretations Set in a logical framework, with definition of terms, well-formed formulas, and axioms E. G. : Clarks calculus of individuals o Focus is a binary connection relation between regions o C(X, Y) = “region X is connected to region Y” o The connection relation satisfies the following axioms: For each region X, C(X, X) For each pair of regions X, Y, if C(XY) then C(Y, X) • Many of the set-oriented and topological relations between spatial objects may be constructed using just these two axioms

The Modified Areal Unit Problem (MAUP)

The Modified Areal Unit Problem (MAUP) • The same basic data yield different results when aggregated in different ways First studied by Gehlke and Biehl (1934) Applies where data are aggregated to areal units which could take many forms, e. g. , postcode sectors, congressional district, local government units and grid squares. o Affects many types of spatial analysis, including clustering, correlation and regression analysis, and even Presidential election results o Two aspects of this problem: scale effect and zoning (aggregation) effect o o

MAUP: Scale Effect (I) • Scale effect o Analytical results depending on the size of units used (generally, bigger units lead to stronger correlation)

MAUP: Scale Effect (II) • Scale effect o Analytical results depending on the size of units used (generally, bigger units lead to stronger correlation)

MAUP: Zone Effect (1) • Zone effect o Analytical results depending on how the study area is divided up, even at the same scale

Ecology Fallacy (I) • relationships established at a specific level of aggregation do not hold at more detailed levels (spatial version of Simpson’s paradox )

Ecology Fallacy (II) • relationships established at a specific level of aggregation do not hold at more detailed levels (spatial version of Simpson’s paradox )

Database Hands-on

Hands-on key Item count key Item price

Connecting to Geog 480 server

Connecting to Database • psql -U username -d database_name o username = geog 480 o database_name = tutorial o Enter passwd when prompted (same as username) • Postgres Commands o o l List all accessible databases dt List all the tables in current DB ? Help q Quite

Table Creation • SQL CREATE TABLE Syntax o CREATE TABLE table_name ( column_name 1 data_type, column_name 2 data_type, column_name 3 data_type, . . ) • Table Creation Example: o create table count (key int, item varchar(20), count int); o create table price (key int, item varchar(20), price float); • Copy from a CSV file (postgres specific) o COPY count FROM ‘/srv/cigi/code/test. csv' with CSV HEADER

Table Insertion • SQL CREATE TABLE Syntax o INSERT INTO table_name VALUES (value 1, value 2, value 3, . . . ) • Insertion Example: o insert into count values(1, ‘item 0', 100); o insert into count values(2, ‘item 1', 101); o insert into count values(3, ‘item 2, 102); • Copy from a CSV file (postgres specific) o COPY count FROM ‘/srv/cigi/code/test. csv' with CSV HEADER

Select Table Syntax • Used for queries on single or multiple tables • Clauses of the SELECT statement: (Sequence!!) o SELECT • List the columns (and expressions) that should be returned from the query o FROM • Indicate the table(s) or view(s) from which data will be obtained o WHERE • Indicate the conditions under which a row will be included in the result o GROUP BY • Indicategorization of results o HAVING • Indicate the conditions under which a category (group) will be included o ORDER BY • Sorts the result according to specified criteria

Select Table Examples • List contents of table o o select * from count; select * from count where item =‘item 1'; Select * from count order by key asc; select key, count from count limit 5; • Counting o select count(*) from count; o select count(*) from count where item like '%1'; • Max/Min/Avg o select max(count) from count; o select avg(count) from count where item like '%1%';

Update Tables • SQL UPDATE Syntax o UPDATE table_name SET column 1=value, column 2=value 2, . . . WHERE some_column=some_value • Update table Examples: o update count set item =‘item 1' where key =1; o update count set count =105 where key=1; • Delete Rows o delete from count where key=1;

Join Tables • SQL JOIN Syntax o SELECT column_name(s) FROM table_name 1 JOIN table_name 2 ON table_name 1. column_name=table_name 2. column_name • Example: Join o select count. key, count. item, count, price from count join price on count. item = price. item;

Using and Defining Views • Views provide users controlled access to tables • Base Table–table containing the raw data • Concepts of View o A “virtual table” created dynamically upon request by a user o No data actually stored; instead data from base table made available to user o Based on SQL SELECT statement on base tables or other views

Create View • SQL Syntax o CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition • Example: Create view: o Create view stock_your_netid as select count. key, count. item, count, price from count join price on count. item = price. item;

View Operations • Very similar to table operations • Multiply two columns o Select count*price as value from stock_your_netid • Drop view o Drop view stock_your_netid

• End of this topic