write chapter_3

This commit is contained in:
2026-04-01 14:00:38 +03:00
parent 26f2fac07b
commit 2561ba1cbf
21 changed files with 557 additions and 18 deletions

View File

@@ -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`.

View File

@@ -0,0 +1,5 @@
# 3.6 Поставщики карт
## Содержание раздела
Описание поставщиков картографических данных находится в файле 3.6_map_providers.md