Generovanie mapových dlaždíc
QCAD sa dodáva s dvomi nástrojmi príkazového riadka na vytváranie mapových dlaždíc na použitie s online zobrazeniami máp, ako je Leaflet. Leaflet je knižnica jazyka JavaScript na prácu s interaktívnymi mapami v prehliadači.
Prezentácia výkresu online
Section titled “Prezentácia výkresu online”Najjednoduchším prípadom použitia online mapy je poskytnúť návštevníkom webovej stránky interaktívne, priblížiteľné zobrazenie výkresu.
Tu je príklad, ktorý generuje mapové dlaždice pre ľubovoľný zadaný súbor výkresu:
dwg2maptiles -z 0-6 -c -b white -hq-postfix=@2x -a -o path/to/output/directory drawing.dxfPrepínač -z určuje úrovne priblíženia, ktoré sa majú vygenerovať, tu od úrovne priblíženia 0 po úroveň priblíženia 6. To znamená, že počnúc úrovňou 0 (celý výkres alebo automatické priblíženie) môže používateľ priblížiť 6-krát, kým sa nedosiahne limit. Zakaždým, keď používateľ priblíži, výkres sa zväčší faktorom 2, takže so 6 úrovňami priblíženia môže používateľ priblížiť faktorom 2^6 (=64). Generovanie viacerých úrovní priblíženia vyžaduje viac času a miesta na disku. Každá ďalšia úroveň priblíženia zvyčajne vyžaduje na vygenerovanie štyrikrát viac času a miesta na disku ako predchádzajúca.
Dlaždice sa generujú v zadanom výstupnom adresári (-o) so štandardnou štruktúrou adresárov a názvami súborov pre mapové dlaždice (z/x/y.png).
Vo vyššie uvedenom príklade chceme, aby sa výkres vykreslil na bielom pozadí (-b white). Biele čiary by sa mali opraviť na čierne, aby sa zaručilo, že všetky čiary sú viditeľné (-c).
Argument -hq-postfix=@2x hovorí nástroju dwg2maptiles, aby popri dlaždiciach v štandardnom rozlíšení 256x256px generoval aj vysokokvalitné (hq, vysoké rozlíšenie, retina) dlaždice s rozlíšením 512x512px.
Na ďalšie zvýšenie kvality používame aj prepínač -a na vyhladenie hrán (antialiasing).
Zobraziť príklad online s Leaflet
Generovanie georeferencovaných mapových dlaždíc
Section titled “Generovanie georeferencovaných mapových dlaždíc”Nástroj dwg2maptiles možno použiť aj na generovanie presných prekrytí pre svetové mapy. Na to zvyčajne treba výkres transformovať z lokálneho súradnicového systému do súradníc Web Mercator, ktoré bežne používajú online mapy.
QCAD Professional sa dodáva so samostatným nástrojom príkazového riadka na transformáciu výkresov z jedného referenčného súradnicového systému (CRS) do iného: dwgmapconvert.
dwgmapconvert sa zvyčajne používa na prevod všetkých súradníc v danom súbore výkresu zo známeho, lokálneho súradnicového systému do súradnicového systému EPSG:3857 (niekedy nazývaného „Web Mercator“). Toto je súradnicový systém, ktorý používa väčšina online máp, napríklad Mapy Google alebo mapbox. Aby bolo možné použiť výkres ako vstup pre dwg2maptiles a vytvoriť georeferencované mapové dlaždice, výkres musí byť v súradnicovom systéme EPSG:3857.
V súradnicovom systéme EPSG:3857 sa celá svetová mapa na úrovni priblíženia 0 zmestí do štvorca s rozmerom 20037508.3427892m. Ak sa výkres prevedie do tohto súradnicového systému, transformuje sa tak, aby sa zmestil do tohto svetového štvorca a aby sa nachádzal na správnych, premietnutých svetových súradniciach.
Napríklad, ak bol výkres vytvorený v EPSG:2056 (tiež LV95, lokálny švajčiarsky súradnicový systém), možno ho transformovať do EPSG:3857 pomocou dwgmapconvert takto:
dwgmapconvert -segment-length=0.5 -crs-in=EPSG:2056 -crs-out=EPSG:3857 -f -o drawing_epsg3857.dxf drawing_epsg2056.dxfKeďže mapové projekcie sú zvyčajne nelineárne, krivky a dlhšie čiary treba rozdeliť na malé čiarové segmenty, ktoré potom možno premietnuť nelineárnym spôsobom. Ak sa zadá prepínač -segment-length, dwgmapconvert vykoná túto segmentáciu automaticky s použitím zadanej dĺžky segmentu. Dĺžka segmentu sa určuje v jednotkách výkresu pôvodného výkresu (tu Meter).
-crs-in sa používa na určenie vstupného súradnicového systému, tu EPSG:2056.
-crs-out sa používa na určenie výstupného súradnicového systému, ktorý musí byť EPSG:3857, ak sa má výstup neskôr použiť s dwg2maptiles.
dwgmapconvert obsahuje podporu pre LV95 ako vstup a WebMercator ako výstup.
Ďalšie súradnicové systémy budú pridané v budúcich vydaniach alebo ich môže pridať používateľ.
Na pridanie podpory pre nový súradnicový systém treba poskytnúť dve rovnice na prevod súradníc z nového súradnicového systému do WGS84 (dĺžka/šírka, ako súradnice GPS).
Nové súradnicové systémy možno pridať do konfiguračného súboru JSON s názvom CRS.json, ktorý sa nachádza v priečinku „scripts“ použitej inštalácie QCAD. Tu je príklad súboru CRS.json, ktorý konfiguruje súradnicový systém LV95. Aby bolo možné použiť LV95 ako vstup pre nástroj dwgmapconvert, musíme poskytnúť sekciu „toWgs84“ s rovnicami na prevod súradníc x a y. Tu používame aj dve pomocné premenné, x_ a y_, ktoré musia byť inicializované v rovnici pre x, aby boli prístupné v oboch rovniciach.
Mohli by sme poskytnúť aj sekciu „fromWgs84“, ktorá umožňuje prevod z iných súradnicových systémov do LV95. Obe sekcie sú voliteľné v závislosti od smeru prevodu, ktorý chcete podporovať.
{ "CRS" : [ { "id" : "EPSG:2056 CH1903+ / LV95", "toWgs84" : { "x": "x_ = (y-1200000)/1000000; y_ = (x-2600000)/1000000; (2.6779094 + 4.728982*y_ + 0.791484*y_*x_ + 0.1306*y_*x_*x_ - 0.0436*y_*y_*y_) * 100 / 3", "y": "(16.9023892 + 3.238272*x_ - 0.270978*y_*y_ - 0.002528*x_*x_ - 0.0447*y_*y_*x_ - 0.0140*x_*x_*x_) * 100 / 36" }, "aliases" : [ "LV95", "Swiss" ] } ]}Generovanie mapových dlaždíc
Section titled “Generovanie mapových dlaždíc”Keď sme výkres previedli do súradníc EPSG:3857, môžeme použiť dwg2maptiles na vygenerovanie dlaždíc pre prekrývaciu vrstvu v Leaflet:
dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -b transparent -o path/to/output/directory drawing_epsg3857.dxfVšimnite si, že nástroju dwg2maptiles musíme odovzdať prepínač -web-mercator, aby vedel, že nemá vykonávať automatické priblíženie, ale generovať prekrytie mapy v presných súradniciach EPSG:3857 tak, ako sú prítomné v súbore.
-skip-empty hovorí nástroju dwg2maptiles, aby negeneroval dlaždice, ktoré neobsahujú žiadnu časť výkresu. Bez tohto prepínača sa na každú úroveň priblíženia vygeneruje 2^zoomLevel dlaždíc. To by bolo 4 194 304 dlaždíc pre úroveň priblíženia 22. Keďže prekrývací výkres veľmi pravdepodobne pokrýva len veľmi malú časť svetovej mapy, tento prepínač by sa mal pri vytváraní prekrývacích máp vždy používať.
-b transparent nastaví pozadie na priehľadné, takže mapu možno použiť ako prekrytie existujúcej svetovej mapy (napr. Mapy Google, mapbox atď.). Na ovládanie farby, v ktorej sa zobrazujú čierne alebo biele čiary, možno pozadie nastaviť na čierne priehľadné alebo biele priehľadné pomocou -b "#00ffffff" (biele priehľadné pozadie, čierne čiary), resp. -b "#00000000" (čierne priehľadné pozadie, biele čiary). V tomto prípade nezabudnite odovzdať aj prepínač -c, aby ste vynútili automatickú korekciu farieb.
Argument -hq-postfix=@2x možno použiť na generovanie dlaždíc s vysokým rozlíšením (512px) popri bežných dlaždiciach s rozlíšením 256px. Hodnota „@2x“ sa odporúča a je široko používaná pre dlaždice s vysokým rozlíšením, aj v Leaflet. S týmto prepínačom sa pre každú dlaždicu s nízkym rozlíšením „N.png“ vytvorí dlaždica s vysokým rozlíšením „[email protected]“.
Použitie viacerých procesov (a jadier procesora)
Section titled “Použitie viacerých procesov (a jadier procesora)”Generovanie mapových dlaždíc môže byť náročná úloha na procesor, v závislosti od úrovní priblíženia, zložitosti výkresu a ďalších nastavení.
Na rýchlejšie generovanie mapových dlaždíc môžete úlohu rozdeliť medzi viacero dostupných jadier procesora. Pre túto funkciu ponúka dwg2maptiles prepínač -s na generovanie iba časti (rezu) požadovaných dlaždíc. Prepínač -s očakáva dva parametre oddelené čiarkou: rez, ktorý sa má vygenerovať, a celkový počet použitých rezov. Napríklad -s 1,4 by vygenerovalo prvý rez zo štyroch rezov celkovo. Na vygenerovanie všetkých dlaždíc vyššie uvedeného príkladu s použitím štyroch jadier procesora by ste mohli spustiť:
dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -s 1,4 -b transparent -o path/to/output/directory drawing_epsg3857.dxf &dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -s 2,4 -b transparent -o path/to/output/directory drawing_epsg3857.dxf &dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -s 3,4 -b transparent -o path/to/output/directory drawing_epsg3857.dxf &dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -s 4,4 -b transparent -o path/to/output/directory drawing_epsg3857.dxf &waitSamozrejme, úlohy by ste mohli rozdeliť aj podľa úrovní priblíženia alebo použiť rezy len pre vyššie úrovne priblíženia a jeden proces pre všetky nižšie (lacnejšie) úrovne priblíženia atď.
Príklad
Section titled “Príklad”Interaktívny príklad poskytuje mape švajčiarskeho kantónu Zürich dve prekrývacie vrstvy: chránenú lesnú oblasť a biokoridory. Pôvodné údaje boli v súradniciach EPSG:2056 (LV95) a boli transformované do EPSG:3857 pomocou dwgmapconvert.