Архиве ознака: мапа

Српски фонтови на рендеринг серверу

Пре скоро годину дана, корисник Јован је питао на форуму како да решимо проблем српских фонтова (словолика) на OSM-у. Наиме, нека слова, нарочито у курзиву изгледају као руска слова, а не српска („б”, „п”, „т”, „д”…). Нажалост, иако подршка за српске фонтове постоји, као што се може видети са Пеђиног блога, као и коментара са тог блога, на OpenStreetMap серверима и даље се рендерује руска верзија слова у курзиву – то је просто зато што рендеринг сервер не може да зна да ли треба да рендерује српску или руску ћирилицу.

Подразумевани фонт који долази уз „openstreetmap-carto” стил – Noto Sans, дефинитивно има подршку за српска слова. Ово је лако проверити. Отворите Word или OpenOffice Writer, одаберите овај фонт и откуцајте мала слова у курзиву. Сада мењајте језик пасуса са српског на енглески (или било који други језик) и приметите како се мала курзивна слова мењају како Writer примећује да се мења језик. Дакле, Noto Sans фонт није проблем, он има у себи српске верзије слова, проблем је до Mapnik рендеринга.

Пошто сам се уверио да не постоји подешавање којим се може подесити „locale” приликом исцртавања фонтова (зато што Mapnik-ов елемент „TextSymbolizer” просто нема подршку за то (као што се види овде), одлучио сам се да прост променимо фонт у рендерингу и видим на шта ће то да личи. Ово решење ће радити само за растерске слике, тј. невекторске карте, каква је OpenStreetMap карта. Добри фонтови који имају подршку за српска курзивна слова (тако што игноришу „locale” и увек исцртавају српска слова) се могу наћи на сајту http://www.tipometar.org/. Ово није најбољи начин да се направи фонт, али нама је једини могућ. По мом лаичком мишљењу, да би се добио добар изглед карте, треба тражити сансерифне фонтове („Sans”), и колико сам их испробао, најбоље ми је изгледао фонт „Resavska BG” Ево пригодног примера како изгледа исцртавање мапе на примерима слова „д”, „б” и „т” (кликните на слику да је видите у пуној величини):

Пре:После:А ево и како би изгледао рендеринг целог Београда ако би се ишло са овим фонтом (клик за пуну величину):

Како подесити сервер

Претпоставља се да користите Mapnik за рендеровање сличица (tile-ова), као и можда „openstreetmap-carto” за дефинисање стила, као и да сте на Linux-у. Све локације фајлова у даљем тексту ће бити исте као и са овог водича за дизање tile сервера. Прво треба преузети жељени фонт и инсталирати га (можда баш са http://www.tipometar.org/). Пазите да фонт морате инсталирати у „/usr/share/fonts”. Остале варијанте (у „~/.local/share/fonts” или у „/usr/local/share/fonts”) не пију воду пошто Mapnik не гледа те локације! Ја иначе нисам имао успеха са .otf фонтовима, већ су ми радили само .ttf фонтови. Да бисте се уверили да Mapnik може да види ваш фонт, откуцајте нешто овако:

$ python3
>>> from mapnik import FontEngine
>>> print('\n'.join(list(FontEngine.face_names())))

У списку изнад треба да има и вашег новоинсталираног фонта.

Када имате фонт, а ако користите „openstreetmap-carto”, измените фајл „style/fonts.mms” да укључи овај фонт као први избор. Потребно га је укључити и за курзив. Diff фајл би изгледао некако овако:

diff --git a/style/fonts.mss b/style/fonts.mss
index 1027025..f0e43e0 100644
--- a/style/fonts.mss
+++ b/style/fonts.mss
@@ -75,7 +75,11 @@ support SBIT TTF.
/*
A regular style.
*/
[email protected]: "Noto Sans Regular",
[email protected]: "Resavska BG Sans",
+ "Noto Sans Regular",
"Noto Sans CJK JP Regular",
"Noto Sans Adlam Regular",
"Noto Sans Adlam Unjoined Regular",
@@ -152,7 +156,11 @@ A regular style.
A bold style is available for almost all scripts. Bold text is heavier than
regular text and can be used for emphasis. Fallback is a regular style.
*/
[email protected]: "Noto Sans Bold",
[email protected]: "Resavska BG Sans Bold",
+ "Noto Sans Bold",
"Noto Sans CJK JP Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali UI Bold",
@@ -189,4 +197,9 @@ regular text and can be used for emphasis. Fallback is a regular style.
Italics are only available for the base font, not the other scripts.
For a considerable number of labels this style will make no difference to the regular style.
*/
[email protected]: "Noto Sans Italic", @book-fonts;
[email protected]: "Resavska BG Sans Italic",
+ "Noto Sans Italic",
+ @book-fonts;

Поново регенеришите „mapnik.xml” командом „carto project.mml > mapnik.xml” (ова команда треба да вам буде позната од раније – ако није, могуће да радите нешто погрешно) и онда рестартујте „renderd” сервис (нпр. са „sudo /etc/init.d/renderd restart”), и обришите све постојеће tile-ове (нпр. са „rm -rf /var/lib/mod_tile/ajt/”). Требало би да добијете нови фонт при поновом рендеровању карте.

Уколико не користите „openstreetmap-carto” већ само чисти Mapnik, или Mapnik у некој другој варијанти, потребно је да нађете ваш „mapnik.xml” фајл (његову локацију треба да можете да видите у фајлу „/usr/local/etc/renderd.conf” под XML уносом) и да у њему, негде на почетку додате ваше фонтове. Скупови фонтова су обично негде на почетку и дефинисани су у „<FontSet>” XML елементу. Додајте нови фонт у све те елементе (пазите где се тражи подебљан, где курзив, а где обичан фонт) и опет рестартујте „renderd” сервис и очистите старе сличице.

Уживајте у српским словима!:)

MappingSerbia шаблони за означавање објеката на мапи

Пре него што се упустите у уцртавање на ОСМ карту, а нарочито у мењање већ уцртаног, добро проверите податке са којима радите. Цртање карте је озбиљан посао коме треба да приступите максимално одговорно. Немојте уносити податке за које нисте сигурни да су тачни и немојте их уносити на начин који није у складу са правилима и обичајима који се већ примењују.

Мања је штета да не уцртате нешто на мапу него ако то уцртате погрешно.

Објекти на ОСМ карти се означавају према дефинисаним особинама карата. Ове особине су разноврсне и комплексне тако да умеју да буду збуњујуће за мање искусне, али и да доведу до тога да исти објекти на различитим деловима карте буду различито означени.

MappingSerbia листа представља скуп карактеристичних објеката на територији Србије, који су предмет цртања ОСМ карте Србије, са предложеним стандардизованим начинима обележавања. То ће обезбедити једнообразно означавање објеката на карти Србије.

Листу можете погледати на https://wiki.openstreetmap.org/wiki/Serbia/Mapping_Serbia

Можете преузети и JOSM MappingSerbia Preset који садржи шаблоне за означавање објеката. Снимите датотеку на рачунар и у ЈОСМ га укључите у Active Presets у опцији Preferences > Map Settings > TaggingPresets.

Ако нисте сигурни, погледајте на карти како су други уцртавали исте или сличне објекте и питајте на форуму: http://forum.openstreetmap.org/viewforum.php?id=62

Усаглашавање ОСМ мапе са подацима Републичког геодетског Завода Србије

Републички геодетски завод Србије је отворио део својих података. Они су сада јавно доступни и слободни за употребу.

За сада је отворен регистар просторних јединица, то јест административних граница. Ово је за ОСМ Србија веома значајно и већ смо приступили усаглашавању ОСМ мапе са подацима РГЗ, тако да ће мапа добити на тачности и квалитету.

Активности око ажурирања административних граница можете пратити на нашем форуму: https://forum.openstreetmap.org/viewtopic.php?id=68288.