-
Notifications
You must be signed in to change notification settings - Fork 3
/
Ex04_MapDesign_Economic.Rmd
393 lines (250 loc) · 27.9 KB
/
Ex04_MapDesign_Economic.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# Социально-экономическая карта {#map-design-economic}
```{r map-design-options, echo = FALSE}
knitr::opts_chunk$set(out.width = '100%', echo = FALSE, message = FALSE, warning = FALSE)
```
[Скачать данные и файл отчета](https://carto.geogr.msu.ru/gis/data/Ex04.zip)
## Введение {#map-design-economic-intro}
**Цель задания** --- знакомство с моделями пространственных объектов и базой пространственных данных. Визуализация данных на карте. Оформление легенды и компоновки карты.
Параметр Значение
-------------------------- --------
*Теоретическая подготовка* Модели пространственных данных, модели пространственных объектов, базы пространственных объектов, картографические проекции
*Практическая подготовка* Не требуется
*Исходные данные* Сетка субъектов Федерации с привязанной статистикой по населению, государственная граница России, крупнейшие города России, крупнейшие озера, страны.
*Результат* Тематическая карта «Население России» масштаба 1:35 000 000
*Ключевые слова* Модели пространственных данных, модели пространственных объектов, базы пространственных данных, классы пространственных объектов, визуализация пространственных данных, геоинформационное картографирование
### Контрольный лист {#map-design-economic-control}
* Добавить на карту слои базы пространственных данных и оформить их
* Настроить подписи объектов
* Создать компоновку карты, легенду и координатную сетку
* Экспортировать результат в графический файл
### Аннотация {#map-design-economic-annotation}
Задание посвящено знакомству с ГИС на примере создания социально-экономической карты. Вы познакомитесь с представлением площадных, линейных, точечных объектов в базе пространственных данных. Научитесь создавать карты на их основе, оформлять легенду, добавлять сетку координат и зарамочные элементы карты, познакомитесь с применением картограмм и картодиаграмм в геоинформационном картографировании.
## Начало работы {#map-design-economic-begin}
[В начало упражнения ⇡](#map-design-economic)
1. Скачайте с сервера каталог *Ex04* и положите его в свою директорию.
1. Запустите приложение **ArcMap** и откройте окно **Сatalog**, нажав кнопку ![](images/Ex01/image2.png) на панели инструментов.
2. Подключитесь к рабочему каталогу *Ex04* в окне **Сatalog** (Рис. \@ref(fig:mde-cat)):
```{r mde-cat, out.width = '40%', fig.cap = 'Окно Catalog'}
knitr::include_graphics('images/Ex04/image2.png')
```
В каталоге *Ex04* находится база геоданных *MapData.gdb*, содержащая исходные данные для выполнения задания.
> **База геоданных** — это структурированное хранилище, внутри которого можно создавать слои данных, группировать их и связывать различными отношениями.
Внутри базы геоданных могут быть объекты следующих типов:
- ![](images/Ex04/image3.png)![](images/Ex04/image4.png)![](images/Ex04/image5.png) --- слои векторных данных (классы пространственных объектов),
- ![](images/Ex04/image6.png) — слои растровых данных;
- ![](images/Ex04/image7.png) — обычные таблицы;
> **Класс пространственных объектов (feature class)** --- это набор пространственных объектов одного типа геометрии (точки, линии, полигоны). Для класса могут быть определены атрибуты, а его представлением является таблица, содержащая столбцы разного типа (текстовые, числовые и т.д.). Каждая строчка в таблице — это описание одного объекта.
1. Раскройте базу данных *MapData.gdb* и изучите классы пространственных объектов внутри нее:
**Класс** **Содержание**
------------ ----------------------------
*Borders* Государственная граница РФ
*Cities* Города
*Lakes* Озера
*Regions* Субъекты федерации
*Countries* Страны
К какому типу геометрии относятся данные классы?
1. Дважды щелкните на слое *Regions* и перейдите на вкладку **XY Coordinate System**.
Внимательно прочитайте информацию. Этот слой хранится в *Географической системе координат (GCS)*, отнесенной к эллипсоиду WGS-1984. Это означает, что координаты каждого объекта хранятся в виде широты и долготы. Этот слой можно спроецировать в любую проекцию. При этом координаты будут представлены в метрических единицах, а система координат получит название *Проецированной системы координат (PCS)*.
## Создание картограмм {#map-design-economic-choropleth}
[В начало упражнения ⇡](#map-design-economic)
1. Добавьте на карту слой *Regions*. Для этого просто перетащите его из окна Каталога на карту.
2. Переименуйте его в «*Плотность населения*». Для этого дважды (медленно) щелкните на названии слоя или выделите его и нажмите клавишу <kbd>F2</kbd> (Рис. \@ref(fig:mde-ren)):
```{r mde-ren, out.width = '35%', fig.cap = 'Переименование слоя'}
knitr::include_graphics('images/Ex04/image8.png')
```
1. Используя инструкции в разделе [Изменение проекции](#manual-projections-change), измените проекцию карты на равновеликую коническую проекцию Альберса. Ее можно найти по следующему пути:
**Projected Coordinate Systems > Continental > Asia > Asia North Albers Equal Area Conic**
Обратите внимание на то, как изменится форма отображаемых объектов.
1. Откройте таблицу атрибутов слоя. Найдите в ней столбец *Density*, просмотрите его значения. Это поле таблицы хранит значения плотности населения по субъектам.
2. Найдите поля *Shape* и *ObjectID*.
> В поле *ObjectID* хранится уникальный идентификатор каждого объекта. Он нужен системе для того, чтобы каждый объект можно было гарантированно найти по некому однозначному критерию.
> В поле *Shape* хранится геометрия объектов. Если слой точечный — это будут просто пары координат X и Y для каждого объекта. Для линейных и полигональных слоев это будет уже упорядоченный набор пар координат вершин границы объекта. Геометрия редактируется специальными инструментами, поэтому содержимое поля *Shape* скрыто от пользователя.
1. Дважды щелкните на названии слоя и на вкладке **Symbology** и выберите способ изображения *Quantity — Graduated colors* (Градуированные цвета).
2. Выберите в списке **Value Field** поле *Density*, система автоматически сформирует список классов, созданных методом естественных интервалов.
> Существует множество методов классификаций: равных интервалов, квантилей, стандартных отклонений и т.д. По умолчанию всегда выбирается метод естественных интервалов, т.к. считается, что он в среднем неплохо отражает особенности распределения. Следует знать, однако, что этот метод классификации плохо справляется с распределениями, обладающими значительной асимметрией и эксцессом (*heavy-tail distribution*).
1. Измените число классов на 7 (Рис. \@ref(fig:mde-cla)):
```{r mde-cla, out.width = '30%', fig.cap = 'Изменение числа классов в методе Естественных интервалов'}
knitr::include_graphics('images/Ex04/image9.png')
```
1. Измените метод классификации. Для этого нажмите **Classify**. В появившемся диалоговом окне выберите в списке сверху ручной метод задания интервалов (*Manual*) и в правом столбце замените первые шесть значений на следующие: 1, 10, 25, 50, 100, 250. Максимальное значение оставьте без изменений. Жмите **ОК** (Рис. \@ref(fig:mde-cle)):
```{r mde-cle, out.width = '80%', fig.cap = 'Ручное редактирование границ классов'}
knitr::include_graphics('images/Ex04/image10.png')
```
1. На вкладке **Symbology** выберите цветовую шкалу *Yellow To Dark Red* (Рис. \@ref(fig:mde-ramp)):
```{r mde-ramp, out.width = '40%', fig.cap = 'Цветовая шкала от желтого к темно-красному'}
knitr::include_graphics('images/Ex04/image11.png')
```
1. Инвертируйте сортировку классов, чтобы наверху оказались максимальные градации (Рис. \@ref(fig:mde-clssort)):
```{r mde-clssort, out.width = '45%', fig.cap = 'Инвертирование сортировки классов'}
knitr::include_graphics('images/Ex04/image12.png')
```
1. Инвертируйте цветовую шкалу, чтобы цвета соответствовали градациям (Рис. \@ref(fig:mde-colsort)):
```{r mde-colsort, out.width = '35%', fig.cap = 'Инвертирование цветового градиента'}
knitr::include_graphics('images/Ex04/image13.png')
```
1. В основном диалоге настройки символов исправьте подписи классов (столбец *Label*) в соответствии с нижеприведенным фрагментом (Рис. \@ref(fig:mde-labedit)):
```{r mde-labedit, out.width = '80%', fig.cap = 'Редактирование подписей классов'}
knitr::include_graphics('images/Ex04/image14.png')
```
1. Нажмите **ОК**.
2. Переименуйте показатель в «*чел/кв. км*» (Рис. \@ref(fig:mde-unedit)):
```{r mde-unedit, out.width = '30%', fig.cap = 'Редактирование единиц измерения'}
knitr::include_graphics('images/Ex04/image15.png')
```
*Результат* (Рис. \@ref(fig:mde-choropleth)):
```{r mde-choropleth, fig.cap = 'Визуализация плотности населения по регионам (фрагмент карты)'}
knitr::include_graphics('images/Ex04/image16_crop.png')
```
<kbd>**Снимок экрана №1.** Картограммы плотности населения</kbd>
__Сохраните документ карты__ через команду меню **File > Save as** в свой каталог _Ex04_ под названием *Ex04_<Фамилия>.mxd*.
> Файл с расширением `.mxd` является файлом документа карты __ArcMap__. Он содержит перечень слоев и их настроек, созданные компоновки и ряд дополнительных параметров. Документ карты, как и входящие в него слои, не хранит сами данные, а лишь _ссылается_ на них. Поэтому, перемещая проект на другой компьютер, вы должны также переместить и данные, чтобы он открылся (в вашем случае — базу геоданных, из которой вы добавляли классы объектов на карту).
## Создание картодиаграмм {#map-design-economic-diagrams}
[В начало упражнения ⇡](#map-design-economic)
1. Скопируйте и вставьте слой «*Плотность населения*». Переименуйте его в «*Численность населения*» (Рис. \@ref(fig:mde-popedit)):
```{r mde-popedit, out.width = '35%', fig.cap = 'Редактирование названия слоя численности населения'}
knitr::include_graphics('images/Ex04/image17.png')
```
1. Разместите новый слой поверх слоя плотности населения.
2. Измените его способ изображения на *Картодиаграммы (Quantities > Graduated Symbols)* (Градуированные символы).
3. Выберите для отображения поле *SUM\_Все\_население*. Появится шкала классификации показателя.
4. Измените цвет кружка на голубой. Для этого нажмите кнопку **Template**, выберите значок *Circle 2* с тонкой обводкой и смените цвет заливки (Рис. \@ref(fig:mde-popsym)):
```{r mde-popsym, fig.cap = 'Выбор символа для построения диаграмм'}
knitr::include_graphics('images/Ex04/image18.png')
```
1. Установите число классов равным `6` (Рис. \@ref(fig:mde-popncla)):
```{r mde-popncla, out.width = '80%', fig.cap = 'Редактирование количества классов для диаграмм'}
knitr::include_graphics('images/Ex04/image19.png')
```
1. Аналогично предыдущему слою выберите ручной метод классификации и введите следующие границы классов: $500, 1000, 2500, 5000, 10000$. Максимальную границу оставьте прежней (Рис. \@ref(fig:mde-popbrcla)):
```{r mde-popbrcla, out.width = '80%', fig.cap = 'Редактирование границ классов для диаграмм'}
knitr::include_graphics('images/Ex04/image20.png')
```
1. Нажмите **ОК**.
2. Инвертируйте порядок классов и порядок символов в классификации (аналогично предыдущему слою) так чтобы наверху оказались максимальные значения.
3. Установите на вкладке **Symbology** максимальный и минимальный размер значка равным 18 и 4 пункта соответственно (Рис. \@ref(fig:mde-popsize)):
```{r mde-popsize, out.width = '40%', fig.cap = 'Изменение границ размеров символа'}
knitr::include_graphics('images/Ex04/image21.png')
```
1. Отредактируйте подписи классов по аналогии с картограммами (Рис. \@ref(fig:mde-poplabcla)):
```{r mde-poplabcla, out.width = '50%', fig.cap = 'Редактирование подписей классов размеров кружков'}
knitr::include_graphics('images/Ex04/image22.png')
```
1. Задайте символ фона картодиаграмм в виде полигона с пустой заливкой и пустой обводкой. Для этого щелкните на кнопке **Background** и выберите режим *No Color* для заливки и для обводки (Рис. \@ref(fig:mde-popnocolor)):
```{r mde-popnocolor, fig.cap = 'Установка пустого цвета заливки и обводки полигонов'}
knitr::include_graphics('images/Ex04/image23.png')
```
1. Нажмите **ОК**.
*Результат* (Рис. \@ref(fig:mde-popdiag)):
```{r mde-popdiag, fig.cap = 'Картодиаграммы численности населения'}
knitr::include_graphics('images/Ex04/image24_crop.png')
```
<kbd>**Снимок экрана №2.** Картодиаграммы численности населения</kbd>
1. Сохраните документ карты
## Оформление географической основы {#map-design-economic-general}
[В начало упражнения ⇡](#map-design-economic)
1. Добавьте на карту слои *Borders*, *Cities*, *Countries* и *Lakes*. Установите следующий порядок слоев в таблице содержания:
a. *Cities*
b. *Borders*
c. *Lakes*
d. *Численность населения*
e. *Плотность населения*
f. *Countries*
2. Переименуйте вновь добавленные слои следующим образом:
**Исходное название** **Результирующее название**
----------------------- -------------------------
*Cities* Города
*Borders* Граница РФ
*Lakes* Озера
*Countries* Страны
1. Присвойте слою *Граница РФ* единый символ *Boundary, National.*
2. Присвойте слою *Озера* единый символ *Lake.*
3. Измените цвет точек слоя *Города* на белый.
4. Установите следующие параметры оформления для площадного слоя *Страны*:
**Параметр** **Значение**
----------------- -----------
*Цвет заливки* Серый 10%
*Цвет обводки* Серый 50%
*Толщина обводки* 1
*Результат* (Рис. \@ref(fig:mde-popback)):
```{r mde-popback, fig.cap = 'Карта с элементами общегеографической основы'}
knitr::include_graphics('images/Ex04/image25_crop.png')
```
<kbd>**Снимок экрана №3.** Карта с элементами общегеографической основы</kbd>
1. Сохраните документ карты.
## Настройка подписей {#map-design-economic-labels}
[В начало упражнения ⇡](#map-design-economic)
1. Включите механизм размещения подписей **Maplex** (Рис. \@ref(fig:mde-maplex)):
```{r mde-maplex, out.width = '40%', fig.cap = 'Механизм размещения подписей Maplex'}
knitr::include_graphics('images/Ex04/image26.png')
```
1. Включите подписи для слоя *Города* на вкладке **Labels**. Выберите в качестве поля для подписей *name\_2.* Остальные настройки оставьте по умолчанию (Рис. \@ref(fig:mde-labels)):
```{r mde-labels, fig.cap = 'Диалог настройки подписей слоя Города'}
knitr::include_graphics('images/Ex04/image27.png')
```
1. Включите подписи для слоя _Страны_. Настройте подписи следующим образом:
**Параметр** **Значение**
------------------------------------- ------------------------
*Поле (label field)* Название
*Тип размещения* Криволинейное (Curved)
*Разрядка слов* Да
*Разрядка букв* Да
*Подписывать только наибольшую часть* Да
*Результат* (Рис. \@ref(fig:mde-wlabels)):
```{r mde-wlabels, fig.cap = 'Карта с подписями объектов'}
knitr::include_graphics('images/Ex04/image28_crop.png')
```
<kbd>**Снимок экрана №4.** Карта с подписями объектов</kbd>
1. Сохраните документ карты.
## Настройка компоновки {#map-design-economic-layout}
[В начало упражнения ⇡](#map-design-economic)
1. Переключитесь в вид компоновки через команду меню **View > Layout View**
2. Настройте макет страницы следующим образом:
- Размер А4
- Альбомная ориентировка
3. Установите масштаб карты равным $1:35 000 000$. Подгоните размер фрейма данных таким образом, чтобы он был слегка больше контура России. Для этого используйте стрелку ![](images/Ex04/image29.png) на панели **Tools**. Разместите его в правом верхнем углу карты.
4. Отцентрируйте контур России внутри фрейма (рамки). Для этого используйте лапу ![](images/Ex04/image30.png) на панели **Tools**.
5. Смените цвет фрейма данных (фона) на светло-голубой.
*Результат* (Рис. \@ref(fig:mde-frcolor)):
```{r mde-frcolor, fig.cap = 'Картографическое изображение со светло-голубым фоновым цветом'}
knitr::include_graphics('images/Ex04/image31_crop.png')
```
1. Добавьте на карту легенду, включив в нее только слои *Численность населения* и *Плотность населения.* Нажмите **Далее** (Рис. \@ref(fig:mde-leglyrs)).
```{r mde-leglyrs, out.width = '80%', fig.cap = 'Добавление слоев в легенду карты'}
knitr::include_graphics('images/Ex04/image32.png')
```
1. В следующем диалоге название легенды оставьте пустым (Рис. \@ref(fig:mde-legtitle)):
```{r mde-legtitle, out.width = '80%', fig.cap = 'Пустое название легенды'}
knitr::include_graphics('images/Ex04/image33.png')
```
1. Далее все параметры оставьте по умолчанию.
2. Добавьте сетку координат со следующими параметрами:
**Параметр** **Значение**
----------------- -----------
*Тип сетки* градусная
*Шаг по широте* 10
*Шаг по долготе* 10
1. Отключите [отображение нулевых минут и секунд](#manual-projections-zero-degrees).
2. Разместите над картой текст заголовка карты, используя панель **Drawing** или меню **Insert** (Рис. \@ref(fig:mde-text)):
```{r mde-text, out.width = '80%', fig.cap = 'Добвление текста через панель __Drawing__'}
knitr::include_graphics('images/Ex04/image34.png')
```
1. Разместите под картой по центру численный масштаб $1:30 000 000$.
2. Разместите в правом нижнем углу карты текст «Выполнил» и свое ФИО.
**Результат** (Рис. \@ref(fig:mde-res)):
```{r mde-res, fig.cap = 'Итоговый вид фрагмента карты'}
knitr::include_graphics('images/Ex04/image35_crop.png')
```
<kbd>**Снимок экрана №5.** Итоговая карта</kbd>
1. Сохраните документ карты.
## Экспорт в графический файл {#map-design-economic-export}
[В начало упражнения ⇡](#map-design-economic)
1. Экспортируйте карту из режима компоновки (**File > Export Map...**) в формат *PNG* с разрешением *300* точек на дюйм. Сохраните его в свою директорию.
2. Вставьте карту в отчетный файл
## Контрольные вопросы {#map-design-economic-questions}
[В начало упражнения ⇡](#map-design-economic)
1. Какие типы геометрии допустимы для слоев в базе геоданных? К каким типа относятся слои, использованные вами в работе?
2. В какой системе координат хранились данные, которые вы использовали для составления карты?
3. Какая проекция была использована вами в работе? К какому типу по характеру искажений она относится?
4. Где хранятся числовые данные, которые используются для построения картограмм и картодиаграмм?
5. За что отвечают системные поля *Shape* и *ObjectID*?
6. Чем отличается вид компоновки от вида данных?