OCStoyanov
  • Работа
    • Проекти
      • Въжени мостове в БГ
      • Римски пътища
      • България 19-20 век
      • Схема ГМТ София
      • Излетник
      • Пещерни райони
    • Полезни карти
      • Sofia City Escape
      • Туристическа карта
      • Водопади България
      • Велотуринг схема
      • Къмпинг и бивак
      • Магазини за екипировка
    • ГИС и визуализации
      • Карти на света
      • Туристически карти
      • Интересни карти
      • Иконографики
      • Разна статистика
      • GIS
    • Свали
      • Онлайн икони за карти
      • Занимателно за деца
      • Интересни и полезни карти
      • ГИС файлове
      • PDF и електронни книги
      • Щанци
  • Фотография
    • Галерии
      • Макро
      • Пейзажи
      • Пещери
      • Попътно
      • Природа
      • Репортажно
    • Фоторазкази
      • МАГИЧЕСКАТА СВЕТЛИНА
      • Trashscape Project
      • Светлина и Култ
      • Беглика и Чатъма
      • Крит
    • И още
      • Kарти и пъзели за децата
      • Да си „хванем“ бръмбар
      • Преводи на анимация
  • Навън…
    • Приключения
      • #ExploreCrete
      • Боянската (еко) пътека
      • ВелоРодопи
      • EVKM
      • Манастирите по река Нишава
      • ПредБалканско
    • Активности
      • Велотуринг и колоездене
      • Катерене
      • Спелеология
      • Зимни активности
      • Каяци и Рафтинг
      • Детски лагери и Тимбилдинг
    • Хайк & маршрути
      • Тематични маршрути
      • Много дневни маршрути
      • Маркирани и излетни маршрути
      • Екопътеки
      • За почивка
    • Welcome to Sofia
      • Добра идея!
      • Sofia City Escape
      • Около София
      • Велосипеден маршрутизатор София
  • Полезно
    • Съвети
    • Екипировка и храна
    • Първа помощ в планината
    • Survivor и bushcraft
    • Ориентиране
    • Хубаво да знаеш
  • Блог
Блог, Интерактивни карти

Интерактивна карта на границите на България (1878–1945): Как е направена?

Интерактивна карта на границите на България (1878–1945): Как е направена?
Блог, Интерактивни карти

Съдържание

  • Използвани технологии
  • Основна структура на кода
  • Данни: откъде идват и къде отидоха?
    • България в началото на 20 век

Създаването на интерактивни исторически карти е чудесен начин да визуализираме териториални промени, граници и геополитически събития по динамичен и достъпен начин. След като трасирах в шейп (shp) старите граници ми се искаше да им вдъхна малко живот и реално да показват промените на българската държавна територия между 1878 и 1945 г. А какъв по-добър пример, ако го правят показвайки старите имена на населените места.

Използвани технологии

  • Mapbox GL JS – библиотека за интерактивни векторни карти.
  • Mapbox Studio – използван за хостване на стилизирани карти и векторни слоеве.
  • GeoJSON / Shapefile -> Vector Tiles – използвах геопространствени данни за граници, конвертирани във векторни слоеве с Mapbox tilesets.
  • HTML, CSS и JavaScript – за изграждане на интерфейса и контролите.

Основна структура на кода

Проектът използва HTML файл, който съдържа:

1. Вграждане на Mapbox карта

var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/benkenogy/c --//-- h',
zoom: 7,
center: [24.850, 42.537]
});

Отне ми месец и половина да направя DataSet в Mapbox Studio, със старите имена на градове и села използвайки стари кари (както физически, така и от интернет), който да използвам като базова карта. Датата бе обърната в tileset и къстъмизирана в стил. Тъй като в имената има доста символи които не присъстват в повечето шрифтове, трябва доста да се внимава кой точно се ползва, иначе и Ѫ и Ѣ няма да се покажат коректно.

2. Зареждане на векторен слой със стари граници

map.addSource('old_borders_smoot-cids64', {
type: 'vector',
url: 'mapbox://benkenogy.d--//--5'
});

Това е основният геопространствен източник, който съдържа границите в различни исторически моменти. Всеки обект има уникален Id, по който филтрираме данните. Всички граници са сложени в един tileset за да мога да ги извиквам само с едно слагане на картата.

3. Добавяне на отделни слоеве за всеки исторически период
Например:

map.addLayer({
'id': 'Княжество България',
'type': 'line',
'source': 'old_borders_smoot-cids64',
'source-layer': 'old_borders_smoot-cids64',
'filter': ['==', 'Id', 1622],
'layout': {
'visibility': 'none',
'line-join': 'round',
'line-cap': 'round'
},
'paint': {
'line-color': '#877b59',
'line-width': 1
}
});

Този слой визуализира границите след Берлинския договор. Подобни слоеве има за Санстефанска България, Източна Румелия, Обединена България, границите след Балканските войни и Първата световна война, и т.н.

4. Създаване на интерактивно меню за включване и изключване на слоевете

var toggleableLayerIds = [ 'Сан Стефанска България', 'Княжество България', ... ];

for (var i = 0; i < toggleableLayerIds.length; i++) {
var id = toggleableLayerIds[i];

var link = document.createElement('a');
link.href = '#';
link.className = 'active';
link.textContent = id;

link.onclick = function (e) {
var clickedLayer = this.textContent;
e.preventDefault();
e.stopPropagation();

var visibility = map.getLayoutProperty(clickedLayer, 'visibility');

if (visibility === 'visible') {
map.setLayoutProperty(clickedLayer, 'visibility', 'none');
this.className = '';
} else {
this.className = 'active';
map.setLayoutProperty(clickedLayer, 'visibility', 'visible');
}
};

var layers = document.getElementById('menu');
layers.appendChild(link);
}

Това добавя HTML меню в горния десен ъгъл, от което потребителят може да включва и изключва отделните слоеве с исторически граници. Менюто има един „недостатък“ обаче – не заменя старото извикване с новото при натискане на бутона, но в случая, това може би е предимство. Така могат да се видят няколко граници на веднъж за да се направи съпоставка.

Данни: откъде идват и къде отидоха?

Географските данни за границите са подготвени ръчно в QGIS чрез дигитализация на исторически карти. И ако за промените на границите има точни дати, то за имената е взета за образец една Пътна карта на България от 1934г.

Тази карта е само един от примерите как можем да комбинираме исторически източници, географска информация и съвременни уеб технологии, за да представим по интерактивен начин миналото. Сравнението на границите в различни епохи става буквално с едно кликване.

Забавлявайте се докато разглеждате картата

България в началото на 20 век

административни България от началото на 20 век исторически карти карта на България Стари карти

Previous articleЛагер ПриключениеNext article Планини и върхове за начинаещи планинари (и не само)

Вашият коментар Отказ

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

The English version of the site is temporarily disabled until a convenient and workable solution and layout of the articles is found.

Анкета за интереса към географска и туристическа литература

Последно публикувано

Карта на пътят на Ботевата чета10/05/2025
Heatmap карта на ПТП през 2024 в България по общини26/04/2025
Ще върне ли въвеждането на религията в училище „Сбогом“ в речника ни?17/04/2025

Интерактивни карти

  • България в началото на 20 век
  • Излез от София
  • Водопадите в България
  • Карст и пещери

Популярни статии

Римски градове, пътни станции и пътища в България7 comments
10 маршрута за цялото семейство на Витоша4 comments
10 неща, които си заслужават да се видят в София3 comments
10 запазени антични града в България3 comments
Визуализация на кварталите в София3 comments

Проекти в прогрес

Висящи (въжени) мостове в България
20-те най-голями бръмбари срещани в България
Излетник Лозенска планина
МАГИЧЕСКАТА СВЕТЛИНА
Ако информацията е била полезна – почерпете бира
  • Анимационни филми и рецензии
  • Реклама тук
  • Пишете ми
  • За мен
Maps, Photography and Adventure 2019 © Stoyanov
Условия за ползване на файловете