- •Простые запросы
- •Базовые функции
- •Топологические операции и операции над множествами
- •Пространственный анализ
- •Примеры пространственных запросов
- •1.Отыскать в таблице Country названия всех стран, которые являются соседями Бельгии.
- •2. Для вех рек, перечисленных в таблице River, определить страны, по которым они протекают.
- •Мера формы полигонов (функция Эйлера)
- •Определение площади
- •Мера сложности сети
- •Пространственные сети
- •Управление обходом графа с помощью конструкций ‘start with’ и ‘connect by’
- •3. Назвать все непосредственные притоки реки Кама.
- •4. Сколько рек пострадает от разлива опасных веществ в реке Теща?
Мера формы полигонов (функция Эйлера)
Е = Н - (F - 1),
где Е – число Эйлера,
Н – суммарное количество отверстий во всех полигонах района,
F – количество полигонов во фрагментированном регионе.
Примеры меры формы полигонов
4+(1-1)=4 – четыре отверстия в одном сплошном регионе
4+(2-1)=3 – два фрагмента, по два отверстия в каждом
5-(3-1)=3 – три фрагмента и пять отверстий
Определение площади
Мера сложности сети
Г амма-индекс y является отношением числа существующих связей между парами узлов сети (L), к максимально возможному числу связей в том же наборе узлов Lmax=3(V-2), где V – число узлов.
Гамма-индекс γ принимает значения от нуля (нет ни одной связи) до единицы (все возможные связи существуют): γ=0÷1.
Lmax определяется таким образом.
Например, если мы имеем три узла, то возможны лишь три связи, если добавим еще узел, то добавляется еще три связи, а всего их будет шесть. Максимальное число связей будет каждый раз увеличиваться на три:
Lmax=3(V-2). где V – число узлов.
На рисунке показаны два варианта сети с 16-ю узлами.
Н а рис. а) имеется 15 связей, что дает связность V = 16
(связность на треть).
Н а рис. б) имеется 20 связей,
поэтому (связность – наполовину)
Альфа-индекс (α). Он является отношением имеющегося в сети числа контуров к максимально возможному числу контуров в этой сети. Диапазон значений α = 0÷1.
На рис.1 а) имеется 16 узлов и 15 связей. В ней минимальная связность.
Добавление какой-либо связи создает контур, т.е. когда сеть содержит контуры L>V-1.
Далее, так как максимальное число связей в сети определяется как 3(V-2), а минимальное (без потерь связности) как V-1, то максимальное число контуров будет 3(V-2)-(V-1), т.е. 2V-5.
Т огда
Тогда α-индекс для сети на рис.1
1) При V=16, L=15
2) При наличии дополнительных связей V=16 и L=20
Пространственные сети
1. Каково количество остановок по направлению «Южный К»?
SELECT COUNT(R.stop_id)
FROM RouteStop R, DirectedRoute D
WHERE R.route_id = D.number AND
D.name = ‘Южный К’
2. Найти вторую остановку маршрута «Южный К».
SELECT S.name
FROM Stop S, RouteStop R, DirectedRoute WHERE R.route_id = D.number AND R.stop_id = S.stop_id AND
R.rank=2 AND D.name = ‘Южный К’
3. Перечислить номера маршрутов, соединяющих Волжск и Ульяновск.
SELECT R1.route_id
FROM RouteStop R1, RouteStop R2 DirectedRoute D, Stop S1, Stop S2
WHERE R1.route_id = R2.route_id AND R1.stop_id=S1.stop_id AND
R2.stop_id=S2.stop_id AND S1.name=’Волжск’ AND S2.name=’Ульяновск’
4.Найти последнюю остановку маршрута «Западный Г»
SELECT S.name
FROM Stop S, RouteStop R, DirectedRoute D
WHERE S.stop_id=R.stop_id AND
R.route_id = D.number AND
D.name=’Западный Г’ AND
R.rank=
(
SELECT Max(R1.rank)
FROM RouteStop R1, DirectedRoute D1
D1.number=R1.route_id AND
D1.name=’Западный Г’
)
5. Перечислить номера маршрутов, соединяющих Волжск и Ульяновск.
SELECT R1.route_id
FROM RouteStop R1, RouteStop R2 DirectedRoute D, Stop S1, Stop S2
WHERE R1.route_id = R2.route_id AND
R1.stop_id=S1.stop_id AND
R2.stop_id=S2.stop_id AND
S1.name=’Волжск’ AND
S2.name=’Ульяновск’
6. Составить список всех остановок, куда можно доехать из Волжска без пересадки на другие линии.
SELECT Distinct(S2.name)
FROM RouteStop R1, RouteStop R2, Stop S1, Stop S2
WHERE R1.route_id = R2.route_id AND
R1.stop_id=S1.stop_id AND
R2.stop_id=S2.stop_id AND
S1.name=’Волжск’ AND
R1.stop_id <> R2.stop_id