write chapter_3
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
# 3.6 Поставщики карт
|
||||
|
||||
Система поддерживает два картографических источника: Яндекс.Карты и Google Maps. Соответствующие модули реализованы в файлах `yandex_map.py` и `google_map.py`.
|
||||
|
||||
\section{Яндекс.Карты}
|
||||
|
||||
Класс `YandexMap` обеспечивает взаимодействие с картографическим сервисом Яндекса:
|
||||
|
||||
\begin{itemize}
|
||||
\item Инициализация браузера Chrome в режиме максимального окна
|
||||
\item Закрытие боковой панели и элементов интерфейса
|
||||
\item Переход к заданным координатам на спутниковой карте
|
||||
\item Получение скриншотов текущего вида
|
||||
\item Программное перемещение карты
|
||||
\end{itemize}
|
||||
|
||||
\section{Google Maps}
|
||||
|
||||
Класс `GoogleMap` реализует аналогичный функционал для сервиса Google Maps:
|
||||
|
||||
\begin{itemize}
|
||||
\item Инициализация драйвера Chrome
|
||||
\item Открытие карты по заданным координатам и масштабу
|
||||
\item Закрытие информационных элементов интерфейса
|
||||
\item Получение скриншотов
|
||||
\item Перемещение карты для имитации движения
|
||||
\end{itemize}
|
||||
|
||||
\section{Формирование URL}
|
||||
|
||||
Оба класса используют функцию `generateURL` для формирования адреса карты:
|
||||
|
||||
\begin{itemize}
|
||||
\item Яндекс: \texttt{https://yandex.ru/maps/.../?l=sat\&ll=lat,lon\&z=zoom}
|
||||
\item Google: \texttt{https://www.google.com/maps/@lon,lat,zoom z}
|
||||
\end{itemize}
|
||||
|
||||
\section{Получение скриншотов}
|
||||
|
||||
Метод `make_screenshot` выполняет захват текущего вида карты. Для этого:
|
||||
|
||||
\begin{enumerate}
|
||||
\item Выполняется JavaScript-запрос для скрытия динамических элементов
|
||||
\item С помощью Pillow формируется изображение из видимой области браузера
|
||||
\item Изображение возвращается в формате PIL.Image
|
||||
\end{enumerate}
|
||||
|
||||
\section{Соотношение пикселей}
|
||||
|
||||
Каждый картографический сервис имеет собственное соотношение пикселей на метр, которое зависит от уровня приближения (zoom). Эти коэффициенты определяются константами в файле `constants.py`.
|
||||
5
dissertation/chapter_3/3.6_map_providers/readme.md
Normal file
5
dissertation/chapter_3/3.6_map_providers/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# 3.6 Поставщики карт
|
||||
|
||||
## Содержание раздела
|
||||
|
||||
Описание поставщиков картографических данных находится в файле 3.6_map_providers.md
|
||||
Reference in New Issue
Block a user