Разделяне на картата на OSM на части по области.

Лесен за използване скрипт за разделяне на картата на България на части по области с цел по нататъшно редактиране в офлайн режим или конвертиране в други формати (само под Windows).

Използвани са програми wget, osmconvert и vbs скрипт за проверка на размера и датата на създаване на файловете.
Начин на работа -използвайки wget се изтегля от geofabrik.de ежедневно обновяваното копие на картата на OSM на България във формат pbf и от CloudMade poly файловете за отделните области на България. Възможно е да се използва друга база, но аз лично не знам за такава. С помощта на osmconvert се нарязва картата на България на 28 части по областните граници. Файловете име_на_област.osm могат да се отварят с JOSM за редакция и допълване или да се конвертират в друг формат.

Създава се main.bat със следното съдържание:


Start /Wait wget.bat
Start /Wait size.vbs
If Exist log.txt Exit /B
Start /Wait osmconvert.bat
exit

main.bat със следното съдържание:

wget -N http://download.geofabrik.de/openstreetmap/europe/bulgaria.osm.pbf -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/blagoevgrad/blagoevgrad.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/burgas/burgas.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/dobrich/dobrich.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/gabrovo/gabrovo.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/grad_sofiya/grad_sofiya.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/haskovo/haskovo.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/kardzhali/kardzhali.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/kyustendil/kyustendil.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/lovech/lovech.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/montana/montana.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/pazardzhik/pazardzhik.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/pernik/pernik.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/pleven/pleven.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/plovdiv/plovdiv.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/razgrad/razgrad.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/ruse/ruse.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/shumen/shumen.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/silistra/silistra.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/sliven/sliven.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/smolyan/smolyan.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/sofia/sofia.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/stara_zagora/stara_zagora.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/targovishte/targovishte.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/varna/varna.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/veliko_tarnovo/veliko_tarnovo.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/vidin/vidin.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/vratsa/vratsa.poly -olog.txt
wget -N http://downloads.cloudmade.com/europe/eastern_europe/bulgaria/yambol/yambol.poly -olog.txt
exit

osmconvert.bat със следното съдържание:

osmconvert bulgaria.osm.pbf -B=blagoevgrad.poly -o=osm\blagoevgrad.osm
osmconvert bulgaria.osm.pbf -B=burgas.poly -o=osm\burgas.osm
osmconvert bulgaria.osm.pbf -B=dobrich.poly -o=osm\dobrich.osm
osmconvert bulgaria.osm.pbf -B=gabrovo.poly -o=osm\gabrovo.osm
osmconvert bulgaria.osm.pbf -B=grad_sofiya.poly -o=osm\grad_sofiya.osm
osmconvert bulgaria.osm.pbf -B=haskovo.poly -o=osm\haskovo.osm
osmconvert bulgaria.osm.pbf -B=kardzhali.poly -o=osm\kardzhali.osm
osmconvert bulgaria.osm.pbf -B=kyustendil.poly -o=osm\kyustendil.osm
osmconvert bulgaria.osm.pbf -B=lovech.poly -o=osm\lovech.osm
osmconvert bulgaria.osm.pbf -B=montana.poly -o=osm\montana.osm
osmconvert bulgaria.osm.pbf -B=pazardzhik.poly -o=osm\pazardzhik.osm
osmconvert bulgaria.osm.pbf -B=pernik.poly -o=osm\pernik.osm
osmconvert bulgaria.osm.pbf -B=pleven.poly -o=osm\pleven.osm
osmconvert bulgaria.osm.pbf -B=plovdiv.poly -o=osm\plovdiv.osm
osmconvert bulgaria.osm.pbf -B=razgrad.poly -o=osm\razgrad.osm
osmconvert bulgaria.osm.pbf -B=ruse.poly -o=osm\ruse.osm
osmconvert bulgaria.osm.pbf -B=shumen.poly -o=osm\shumen.osm
osmconvert bulgaria.osm.pbf -B=silistra.poly -o=osm\silistra.osm
osmconvert bulgaria.osm.pbf -B=sliven.poly -o=osm\sliven.osm
osmconvert bulgaria.osm.pbf -B=smolyan.poly -o=osm\smolyan.osm
osmconvert bulgaria.osm.pbf -B=sofia.poly -o=osm\sofia.osm
osmconvert bulgaria.osm.pbf -B=stara_zagora.poly -o=osm\stara_zagora.osm
osmconvert bulgaria.osm.pbf -B=targovishte.poly -o=osm\targovishte.osm
osmconvert bulgaria.osm.pbf -B=varna.poly -o=osm\varna.osm
osmconvert bulgaria.osm.pbf -B=veliko_tarnovo.poly -o=osm\veliko_tarnovo.osm
osmconvert bulgaria.osm.pbf -B=vidin.poly -o=osm\vidin.osm
osmconvert bulgaria.osm.pbf -B=vratsa.poly -o=osm\vratsa.osm
osmconvert bulgaria.osm.pbf -B=yambol.poly -o=osm\yambol.osm
exit

Понеже обновяванията от GEOFABRIK са ежедневни, но не точно по едно и също време добавих vbs скрип, взет на готово от Paspartu от руския раздел на този форум, за проверка на размера на файловете и прекратяване на операцията ако няма промяна. След изтегляне на bulgaria.osm.pbf и poly файловете, готовите разделени части във формат osm се съхраняват в папка osm. Важно е да се изтеглят poly файловете, но понеже не се обновяват често съм ги поставил в папка poly, достатъчно е да се копират от нея в основната папка. Има начин да стaва автоматично копиране, но за него трябва да е инсталиран Perl.

Всичко готово за употреба съм поставил в следващия архив, разархивира се на което и да е място и се стартира main.bat.
сваляне на архива