master
gman 6 months ago
parent 2c84eb5082
commit fabd6a67fc

@ -38,7 +38,24 @@ export default defineConfig({
components: { components: {
SiteTitle: './src/components/SiteTitle.astro', SiteTitle: './src/components/SiteTitle.astro',
Sidebar: './src/components/Sidebar.astro', Sidebar: './src/components/Sidebar.astro',
},
sidebar: [
'index',
'1-webmapping',
'2-webmap',
'3-api',
'4-backend',
'5-tiles',
// '7-conclusion',
'99-references',
{
label: 'Внеклассное чтение',
autogenerate: {
directory: 'extra',
collapsed: true
}
} }
]
}), }),
react() react()
], ],

@ -31,7 +31,7 @@ import Option from '../../components/Option.astro';
Веб-карту определяет цель размещения карты в сети. Если карту разместили в Интернете для того, чтобы пользователи могли работать с ней по сети, то это веб-карта. А файлы карт, передаваемые по сети или размещаемые на сайтах, изображения карт, используемые для оформления веб-страницы, веб-картами не являются. Веб-карту определяет цель размещения карты в сети. Если карту разместили в Интернете для того, чтобы пользователи могли работать с ней по сети, то это веб-карта. А файлы карт, передаваемые по сети или размещаемые на сайтах, изображения карт, используемые для оформления веб-страницы, веб-картами не являются.
<Card title="Веб-карта">Карту, предназначенную для использования в сети, можно назвать веб-картой</Card> <Card title="Веб-карта">Карта, предназначенная для использования в сети, называется веб-картой</Card>
### Типы веб-карт ### Типы веб-карт
@ -52,7 +52,7 @@ import Option from '../../components/Option.astro';
Интерактивность касается интерфейса и клиентской части, а деление на статические и динамические веб-карты связано с обработкой данных в серверной части. Интерактивность касается интерфейса и клиентской части, а деление на статические и динамические веб-карты связано с обработкой данных в серверной части.
<LinkCard title='Другие продукты веб-картографии' href='/98-extra#кроме-веб-карт' description='Геопорталы, картографические веб-сервисы, веб-атласы, веб-ГИС'/> <LinkCard title='Другие продукты веб-картографии' href='/extra/web-map-et-al' description='Геопорталы, картографические веб-сервисы, веб-атласы, веб-ГИС'/>
## Клиент-серверная архитектура ## Клиент-серверная архитектура

@ -32,7 +32,7 @@ import { Card, LinkCard } from "@astrojs/starlight/components";
Растровые тайлы можно использовать как для растровой модели данных, например, снимков, ЦМР, индексных изображений, так и для векторной, когда на тайлы будет нарезаться подготовленное изображение карты. Векторные тайлы оказываются удачным решением для векторных наборов данных. Растровые тайлы можно использовать как для растровой модели данных, например, снимков, ЦМР, индексных изображений, так и для векторной, когда на тайлы будет нарезаться подготовленное изображение карты. Векторные тайлы оказываются удачным решением для векторных наборов данных.
<LinkCard title="Тайлы растровые и векторные" href="/chapters/98-extra/#тайлы-векторные-и-растровые" description="Что лучше 🤨"/> <LinkCard title="Тайлы растровые и векторные" href="/extra/tiles" description="Что лучше 🤨"/>
## Использование тайлов ## Использование тайлов
@ -46,7 +46,7 @@ import { Card, LinkCard } from "@astrojs/starlight/components";
Используем сервер баз данных Postgres с расширением для пространственных данных PostGIS. Используем сервер баз данных Postgres с расширением для пространственных данных PostGIS.
<LinkCard title="Postgres + PostGIS = ♥" href="/chapters/98-extra/#PostGIS" description="Решение для хранения пространственных данных"/> <LinkCard title="Postgres + PostGIS = ♥" href="/extra/postgis" description="Решение для хранения пространственных данных"/>
#### Установка #### Установка
@ -150,7 +150,7 @@ martin postgresql://postgres:password@localhost:5432/oikonyms
Когда тайл запрашивается, сервер векторных тайлов выполняет серверную функцию, которая вырезает соответствующий кусочек из исходного набора пространственных данных. Сервер векторных тайлов Martin обеспечивает подготовку тайла за счёт запроса к базе данных, то есть вырезанием и кодированием атрибутов и геометрии объектов, попадающих в тайл, занимается PostGIS. Когда тайл запрашивается, сервер векторных тайлов выполняет серверную функцию, которая вырезает соответствующий кусочек из исходного набора пространственных данных. Сервер векторных тайлов Martin обеспечивает подготовку тайла за счёт запроса к базе данных, то есть вырезанием и кодированием атрибутов и геометрии объектов, попадающих в тайл, занимается PostGIS.
<LinkCard title="Производительность векторных тайлов" href="/chapters/98-extra/#производительность-векторных-тайлов" description="Как быстро PostGIS нарезает тайлы"/> <LinkCard title="Производительность векторных тайлов" href="/extra/vector-tile-performance" description="Как быстро PostGIS нарезает тайлы"/>
#### Векторные тайлы на карте #### Векторные тайлы на карте

@ -1,139 +0,0 @@
---
title: Внеклассное чтение
---
В этом разделе содержатся дополнительные материалы
## Кроме веб-карт
Определения для продуктов веб-картографии можно получить, добавляя к традиционному определению ГИС, глобуса, атласа “**предназначенный для использования в Интернете**” или “в компьютерных сетях”.
Тогда отличие между, например, веб-ГИС и веб-атласом становится очевидным.
> Веб-ГИС должна не только визуализировать данные, но и реализовывать функции хранения, передачи, обработки пространственных данных
Отдельно стоит упомянуть геопортал и картографические веб-сервисы. Их мы формируем от родовых IT-терминов приземляя к картографии и пространственным данным.
*Геопортал* — это веб-ресурс, предоставляющий доступ к каталогам пространственных данных, наборам пространственных данных, веб-сервисам, публикующим пространственные данные.
*Картографический веб-сервис* — это веб-ресурс, предоставляющий возможности обращения к пространственным данным или метаданным, в т. ч. по стандартизированным протоколам обмена (WMS, WFS, WCS и т. д.). Картографические веб-сервисы не имеют графического интерфейса, к этим сервисам обращаются программно через API (прикладной программный интерфейс).
Этими терминами злоупотребляют по отношению к любым веб-ресурсам, связанным с пространственными данными и картами. Правильнее объединить картографические продукты, публикуемые в сети, под названием *картографические веб-ресурсы*. Они являются веб-ресурсами, основным назначением которых является предоставление доступа к картографической информации.
## Зум, детальность, масштаб
Вопрос о сопоставлении уровня зума, детальности данных и масштаба карты можно отнести к дискуссионным. Однако в прикладных задачах можно следовать следующим соотношениям.
| Уровень зума | Детальность | Масштаб |
| ------------ | ----------- | ------------- |
| z0 | 10 000 м | 1:320 000 000 |
| z1 | 5000 м | 1:160 000 000 |
| z2 | 2500 м | 1:80 000 000 |
| z3 | 1250 м | 1:40 000 000 |
| z4 | 600 м | 1:20 000 000 |
| z5 | 300 м | 1:10 000 000 |
| z6 | 150 м | 1:5 000 000 |
| z7 | 80 м | 1:2 500 000 |
| z8 | 40 м | 1:1 250 000 |
| z9 | 20 м | 1:640 000 |
| z10 | 10 м | 1:320 000 |
| z11 | 5 м | 1:160 000 |
| z12 | 2 м | 1:80 000 |
| z13 | 1 м | 1:40 000 |
| z14 | 50 см | 1:20 000 |
| z15 | 25 см | 1:10 000 |
| z16 | 15 см | 1:5000 |
| z17 | 8 см | 1:2500 |
| z18 | 4 см | 1:1250 |
| z19 | 2 см | 1:600 |
| z20 | 1 см | 1:300 |
| ... | ... | ... |
<!-- ## Стиль программирования карты -->
## Тайлы векторные и растровые
Нельзя сказать, что векторные тайлы легче, быстрее, производительнее, тем более лучше, чем растровые тайлы. Хотя некоторые авторы этим и грешат. Например, векторные тайлы, отображающие множество объектов с богатой атрибутикой, могут весит значительно больше растровых тайлов, а оформление векторных тайлов, тем более динамическое, может привести к замедлению отрисовки карты в браузере.
![vector-raster](../../assets/vector-raster.gif)
Тайл привязан к глобальной системе координат одной точкой. Содержание тайла хранится во внутренней системе координат тайла. Для векторных тайлов это приводит к сложностям в объединении объектов, которые попадают в несколько тайлов сразу: их соединение требует использования вычислительно дорогих операций.
Зато дальнейшая работа с векторными тайлами становится более удобной благодаря возможностям прямого доступа к объектам и их атрибутам для оформления картографических слоёв и организации интерактивной работы с объектами на карте.
Изначально картографические тайловые системы или пирадимы тайлов применялись к растровым изображениям. Растровые тайлы делятся на стороне сервера, передаются в браузер, в браузере выглядят как единое изображение той части карты, которую просматривает пользователь.
Для растровых тайлов сложно обеспечить непрерывное изменение масштаба, интерактивное взаимодействие с объектами требует определения того, какому объекту соответствует тот или иной пиксель, серверная стилизация изображения может создать нагрузку, на которым не хватит вычислительных мощностей при наплыве пользователей.
Векторные тайлы нагружают клиентскую часть. Растровые тайлы нагружают серверную часть.
У векторных и растровых тайлов есть свои достоинства и недостатки. Выбор конкретного варианта зависит от отображаемых данных, назначения веб-карты, требований к безопасности данных. Векторные тайлы хорошо подходят для объектно-ориентированного картографирования: изображения точек интереса, дорог, границ. Растровые тайлы незаменимый вариант для отображения спутниковых снимков, непрерывных покрытий, данных без возможности прямого доступа к объектам.
## PostGIS
Связка Postgres + PostGIS -- это зарекомендовавшее себя открытое решение для работы с пространственными данными в сети.
PostGIS популярен. Легко найти информацию в сети. Давно используется, соответственно модели будут давать нормальные ответы. Используется как для веб-картографии, так и для аналитики.
PostGIS универсален. Для большинства случаев связка Postgres + PostGIS оказывается подходящим вариантом. Она проста в обращении, поэтому используется на небольших проектах. Она может работать под нагрузкой с большими объёмами данных, поэтому используется на крупных предприятиях.
PostGIS избыточен. В случаях, когда к пространственным данным не нужно совершать пространственных запросов, такая связка избыточна, например, нам в первом упражнении было достаточно статических GeoJSON файлов.
PostGIS не хватает. Не хватает связки Postgres + PostGIS в краевых случаях, например,при необходимости агрегации на лету особо больших объёмов слабоструктурированных данных (десятки и сотни миллионов строк) https://github.com/ClickHouse/adsb.exposed/ или необходимости особо быстрого ответа (Redis)
<!-- ## Как PostGIS формирует тайл -->
## Производительность векторных тайлов
Формирование тайла представляет собой запрос кусочка из полного набора пространственных данных, его перепроецирование и кодирование в векторных тайл.
Такие популярные серверы векторных тайлов, как Martin, Tegola, pg_tileserv, формируют тайл средствами базы данных PostGIS. Увидеть запросы, которые они используют можно в режиме отладки. Изучив запросы видно, что на производительность формирования тайлов влияет
1. наличие пространственного индекса, так как есть этап запроса кусочка набора данных по границам тайла
2. проекция исходного набора данных, так как есть этап перепроецирования
Проверим это на запросах к линейному набору пространственных данных
```sql
-- EPSG:4326 без индекса
SELECT ((SELECT ST_AsMVT(q,'lines',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(ST_Transform(geom, 3857), ST_TileEnvelope(6, 37, 20)) as geom, fid FROM lines WHERE geom && ST_TileEnvelope(6, 37, 20)) AS q)) AS data;
-- EPSG:4326 с индексом
SELECT ((SELECT ST_AsMVT(q,'lines_index',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(ST_Transform(geom, 3857), ST_TileEnvelope(6, 37, 20)) as geom, fid FROM lines_index WHERE geom && ST_TileEnvelope(6, 37, 20)) AS q)) AS data;
-- EPSG:3857 без индекса
SELECT ((SELECT ST_AsMVT(q,'lines3857',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(6, 37, 20)) as geom, fid FROM lines3857 WHERE geom && ST_TileEnvelope(6, 37, 20)) AS q)) AS data;
-- EPSG:3857 с индексом
SELECT ((SELECT ST_AsMVT(q,'lines3857_index',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(6, 37, 20)) as geom, fid FROM lines3857_index WHERE geom && ST_TileEnvelope(6, 37, 20)) AS q)) AS data;
```
| | без индекса | с индексом |
| ------------------------- | ----------- | ---------- |
| другая проекция (4326) | 389,4 мс | 3,5 мс |
| проекция веб-карты (3857) | 13,5 мс | 0,7 мс |
При запросе тайла на весь мир (фактически всех данных) индекс становится менее существенным.
```sql
-- EPSG:4326 без индекса
SELECT ((SELECT ST_AsMVT(q,'lines',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(ST_Transform(geom, 3857), ST_TileEnvelope(0, 0, 0)) as geom, fid FROM lines WHERE geom && ST_TileEnvelope(0, 0, 0)) AS q)) AS data;
-- EPSG:4326 с индексом
SELECT ((SELECT ST_AsMVT(q,'lines_index',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(ST_Transform(geom, 3857), ST_TileEnvelope(0, 0, 0)) as geom, fid FROM lines_index WHERE geom && ST_TileEnvelope(0, 0, 0)) AS q)) AS data;
-- EPSG:3857 без индекса
SELECT ((SELECT ST_AsMVT(q,'lines3857',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(0, 0, 0)) as geom, fid FROM lines3857 WHERE geom && ST_TileEnvelope(0, 0, 0)) AS q)) AS data;
-- EPSG:3857 с индексом
SELECT ((SELECT ST_AsMVT(q,'lines3857_index',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(0, 0, 0)) as geom, fid FROM lines3857_index WHERE geom && ST_TileEnvelope(0, 0, 0)) AS q)) AS data;
```
| | без индекса | с индексом |
| ------------------------- | ----------- | ---------- |
| другая проекция (4326) | 544,7 мс | 519,3 мс |
| проекция веб-карты (3857) | 44,1 мс | 41,2 мс |
Проекция и пространственный индекс позволяют ускорить формирование тайлов, однако наибольший прирост производительности даёт *кэширование*, то есть сохранение результатов запросов.
Если данные меняются редко можно предварительно рассчитать тайлы. Для хранения используются форматы MBTiles и PMTiles.

@ -0,0 +1,21 @@
---
title: Как определить веб-карту
draft: true
tableOfContents: false
sidebar:
order: 2
---
В университете я думал -- сделанная с помощью картографической библиотеки
Интерактивная
Потом я прошёл курс ETH, а там карту делали на HTML веб-интерактивности и картографических библиотек
А потом я сделал интерактивную карту с помощью картографической библиотеки, но использовалась она как десктопное приложение. Как-то контринтуитивно называть веб-картой карту, которая в сети вообще недоступна.
Можно говорить про многопользовательскую карту, но если ей пользуется один человек
Карта доступна в сети, но всякие картинки тоже доступны в сети
И получается, что определение веб-карты лежит в разрезе мотивации её создания. Например, исторические карты картинки обогащаются элементами навигации и становятся веб-картами. А чтобы удержать от упражнений в многословности, прощё аппеллировать к опыту человека и пониманию. Поэтому не карта доступная через глобальную сеть Интернет или локальную сеть, имеющая при создании мотивацию многопользовательского обращения по стандартным протоколам передачи данных. Всё равно что-то да упустишь в таком определении. Лучше удержаться от многословности и обратиться к личному человеческому опыту, предназначенная для использования в сети.

@ -0,0 +1,16 @@
---
title: PostGIS
tableOfContents: false
sidebar:
order: 5
---
Связка Postgres + PostGIS -- это зарекомендовавшее себя открытое решение для работы с пространственными данными в сети.
PostGIS популярен. Легко найти информацию в сети. Давно используется, соответственно модели будут давать нормальные ответы. Используется как для веб-картографии, так и для аналитики.
PostGIS универсален. Для большинства случаев связка Postgres + PostGIS оказывается подходящим вариантом. Она проста в обращении, поэтому используется на небольших проектах. Она может работать под нагрузкой с большими объёмами данных, поэтому используется на крупных предприятиях.
PostGIS избыточен. В случаях, когда к пространственным данным не нужно совершать пространственных запросов, такая связка избыточна, например, нам в первом упражнении было достаточно статических GeoJSON файлов.
PostGIS не хватает. Не хватает связки Postgres + PostGIS в краевых случаях, например, при необходимости [агрегации на лету](https://github.com/ClickHouse/adsb.exposed/) особо больших объёмов слабо структурированных данных (десятки и сотни миллионов строк) или необходимости особо быстрого ответа (Redis)

@ -0,0 +1,22 @@
---
title: Тайлы векторные и растровые
tableOfContents: false
sidebar:
order: 4
---
Нельзя сказать, что векторные тайлы легче, быстрее, производительнее, тем более лучше, чем растровые тайлы. Хотя некоторые авторы этим и грешат. Например, векторные тайлы, отображающие множество объектов с богатой атрибутикой, могут весит значительно больше растровых тайлов, а оформление векторных тайлов, тем более динамическое, может привести к замедлению отрисовки карты в браузере.
![vector-raster](../../../assets/vector-raster.gif)
Тайл привязан к глобальной системе координат одной точкой. Содержание тайла хранится во внутренней системе координат тайла. Для векторных тайлов это приводит к сложностям в объединении объектов, которые попадают в несколько тайлов сразу: их соединение требует использования вычислительно дорогих операций.
Зато дальнейшая работа с векторными тайлами становится более удобной благодаря возможностям прямого доступа к объектам и их атрибутам для оформления картографических слоёв и организации интерактивной работы с объектами на карте.
Изначально картографические тайловые системы или пирадимы тайлов применялись к растровым изображениям. Растровые тайлы делятся на стороне сервера, передаются в браузер, в браузере выглядят как единое изображение той части карты, которую просматривает пользователь.
Для растровых тайлов сложно обеспечить непрерывное изменение масштаба, интерактивное взаимодействие с объектами требует определения того, какому объекту соответствует тот или иной пиксель, серверная стилизация изображения может создать нагрузку, на которым не хватит вычислительных мощностей при наплыве пользователей.
Векторные тайлы нагружают клиентскую часть. Растровые тайлы нагружают серверную часть.
У векторных и растровых тайлов есть свои достоинства и недостатки. Выбор конкретного варианта зависит от отображаемых данных, назначения веб-карты, требований к безопасности данных. Векторные тайлы хорошо подходят для объектно-ориентированного картографирования: изображения точек интереса, дорог, границ. Растровые тайлы незаменимый вариант для отображения спутниковых снимков, непрерывных покрытий, данных без возможности прямого доступа к объектам.

@ -0,0 +1,59 @@
---
title: Производительность векторных тайлов
tableOfContents: false
sidebar:
order: 7
---
Формирование тайла представляет собой запрос кусочка из полного набора пространственных данных, его перепроецирование и кодирование в векторных тайл.
Такие популярные серверы векторных тайлов, как Martin, Tegola, pg_tileserv, формируют тайл средствами базы данных PostGIS. Увидеть запросы, которые они используют можно в режиме отладки. Изучив запросы видно, что на производительность формирования тайлов влияет
1. наличие пространственного индекса, так как есть этап запроса кусочка набора данных по границам тайла
2. проекция исходного набора данных, так как есть этап перепроецирования
Проверим это на запросах к линейному набору пространственных данных
```sql
-- EPSG:4326 без индекса
SELECT ((SELECT ST_AsMVT(q,'lines',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(ST_Transform(geom, 3857), ST_TileEnvelope(6, 37, 20)) as geom, fid FROM lines WHERE geom && ST_TileEnvelope(6, 37, 20)) AS q)) AS data;
-- EPSG:4326 с индексом
SELECT ((SELECT ST_AsMVT(q,'lines_index',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(ST_Transform(geom, 3857), ST_TileEnvelope(6, 37, 20)) as geom, fid FROM lines_index WHERE geom && ST_TileEnvelope(6, 37, 20)) AS q)) AS data;
-- EPSG:3857 без индекса
SELECT ((SELECT ST_AsMVT(q,'lines3857',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(6, 37, 20)) as geom, fid FROM lines3857 WHERE geom && ST_TileEnvelope(6, 37, 20)) AS q)) AS data;
-- EPSG:3857 с индексом
SELECT ((SELECT ST_AsMVT(q,'lines3857_index',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(6, 37, 20)) as geom, fid FROM lines3857_index WHERE geom && ST_TileEnvelope(6, 37, 20)) AS q)) AS data;
```
| | без индекса | с индексом |
| ------------------------- | ----------- | ---------- |
| другая проекция (4326) | 389,4 мс | 3,5 мс |
| проекция веб-карты (3857) | 13,5 мс | 0,7 мс |
При запросе тайла на весь мир (фактически всех данных) индекс становится менее существенным.
```sql
-- EPSG:4326 без индекса
SELECT ((SELECT ST_AsMVT(q,'lines',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(ST_Transform(geom, 3857), ST_TileEnvelope(0, 0, 0)) as geom, fid FROM lines WHERE geom && ST_TileEnvelope(0, 0, 0)) AS q)) AS data;
-- EPSG:4326 с индексом
SELECT ((SELECT ST_AsMVT(q,'lines_index',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(ST_Transform(geom, 3857), ST_TileEnvelope(0, 0, 0)) as geom, fid FROM lines_index WHERE geom && ST_TileEnvelope(0, 0, 0)) AS q)) AS data;
-- EPSG:3857 без индекса
SELECT ((SELECT ST_AsMVT(q,'lines3857',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(0, 0, 0)) as geom, fid FROM lines3857 WHERE geom && ST_TileEnvelope(0, 0, 0)) AS q)) AS data;
-- EPSG:3857 с индексом
SELECT ((SELECT ST_AsMVT(q,'lines3857_index',4096,'geom','fid') AS data FROM (SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(0, 0, 0)) as geom, fid FROM lines3857_index WHERE geom && ST_TileEnvelope(0, 0, 0)) AS q)) AS data;
```
| | без индекса | с индексом |
| ------------------------- | ----------- | ---------- |
| другая проекция (4326) | 544,7 мс | 519,3 мс |
| проекция веб-карты (3857) | 44,1 мс | 41,2 мс |
Проекция и пространственный индекс позволяют ускорить формирование тайлов, однако наибольший прирост производительности даёт *кэширование*, то есть сохранение результатов запросов.
Если данные меняются редко можно предварительно рассчитать тайлы. Для хранения используются форматы MBTiles и PMTiles.

@ -0,0 +1,7 @@
---
title: Как PostGIS формирует тайл
draft: true
tableOfContents: false
sidebar:
order: 6
---

@ -0,0 +1,20 @@
---
title: Кроме веб-карт
tableOfContents: false
sidebar:
order: 1
---
Определения для продуктов веб-картографии можно получить, добавляя к традиционному определению ГИС, глобуса, атласа “**предназначенный для использования в Интернете**” или “в компьютерных сетях”.
Тогда отличие между, например, веб-ГИС и веб-атласом становится очевидным.
> Веб-ГИС должна не только визуализировать данные, но и реализовывать функции хранения, передачи, обработки пространственных данных
Отдельно стоит упомянуть геопортал и картографические веб-сервисы. Их мы формируем от родовых IT-терминов приземляя к картографии и пространственным данным.
*Геопортал* — это веб-ресурс, предоставляющий доступ к каталогам пространственных данных, наборам пространственных данных, веб-сервисам, публикующим пространственные данные.
*Картографический веб-сервис* — это веб-ресурс, предоставляющий возможности обращения к пространственным данным или метаданным, в т. ч. по стандартизированным протоколам обмена (WMS, WFS, WCS и т. д.). Картографические веб-сервисы не имеют графического интерфейса, к этим сервисам обращаются программно через API (прикладной программный интерфейс).
Этими терминами злоупотребляют по отношению к любым веб-ресурсам, связанным с пространственными данными и картами. Правильнее объединить картографические продукты, публикуемые в сети, под названием *картографические веб-ресурсы*. Они являются веб-ресурсами, основным назначением которых является предоставление доступа к картографической информации.

@ -0,0 +1,33 @@
---
title: Зум, детальность, масштаб
tableOfContents: false
sidebar:
order: 3
---
Вопрос о сопоставлении уровня зума, детальности данных и масштаба карты можно отнести к дискуссионным. Однако в прикладных задачах можно следовать следующим соотношениям.
| Уровень зума | Детальность | Масштаб |
| ------------ | ----------- | ------------- |
| z0 | 10 000 м | 1:320 000 000 |
| z1 | 5000 м | 1:160 000 000 |
| z2 | 2500 м | 1:80 000 000 |
| z3 | 1250 м | 1:40 000 000 |
| z4 | 600 м | 1:20 000 000 |
| z5 | 300 м | 1:10 000 000 |
| z6 | 150 м | 1:5 000 000 |
| z7 | 80 м | 1:2 500 000 |
| z8 | 40 м | 1:1 250 000 |
| z9 | 20 м | 1:640 000 |
| z10 | 10 м | 1:320 000 |
| z11 | 5 м | 1:160 000 |
| z12 | 2 м | 1:80 000 |
| z13 | 1 м | 1:40 000 |
| z14 | 50 см | 1:20 000 |
| z15 | 25 см | 1:10 000 |
| z16 | 15 см | 1:5000 |
| z17 | 8 см | 1:2500 |
| z18 | 4 см | 1:1250 |
| z19 | 2 см | 1:600 |
| z20 | 1 см | 1:300 |
| ... | ... | ... |
Loading…
Cancel
Save