Skip to content

Kaardipaanide loomine

QCADiga on kaasas kaks käsurea tööriista kaardipaanide loomiseks kasutamiseks veebipõhiste kaardikuvadega, nagu Leaflet. Leaflet on JavaScripti teek interaktiivsete kaartidega töötamiseks brauseris.

Veebikaardi lihtsaim kasutusjuht on pakkuda veebisaidi külastajatele joonisest interaktiivset, suumitavat vaadet.

Siin on näide, mis loob kaardipaanid mis tahes antud joonisefaili jaoks:

dwg2maptiles -z 0-6 -c -b white -hq-postfix=@2x -a -o path/to/output/directory drawing.dxf

Lüliti -z määrab loodavad suumitasemed, siin suumitasemest 0 kuni suumitasemeni 6. See tähendab, et alates tasemest 0 (kogu joonis automaatsuumiga) saab kasutaja sisse suumida 6 korda, kuni piir on saavutatud. Iga kord, kui kasutaja sisse suumib, suurendatakse joonist teguri 2 võrra, seega 6 suumitasemega saab kasutaja sisse suumida teguri 2^6 (=64) võrra. Rohkemate suumitasemete loomine nõuab rohkem aega ja kettaruumi. Iga täiendav suumitase nõuab tavaliselt loomiseks neli korda rohkem aega ja kettaruumi kui eelmine.

Paanid luuakse antud väljundkataloogi (-o) kaardipaanide standardse kataloogistruktuuri ja failinimedega (z/x/y.png).

Ülaltoodud näites soovime, et joonis renderdataks valgel taustal (-b white). Valged jooned tuleks parandada mustaks, et tagada kõigi joonte nähtavus (-c).

Argument -hq-postfix=@2x käsib dwg2maptilesil luua kõrgekvaliteedilised (hq, kõrge eraldusvõimega, retina) paanid suurusega 512x512px koos standardse eraldusvõimega paanidega suurusega 256x256px.

Kvaliteedi edasiseks tõstmiseks kasutame ka lülitit -a sakilisuse silumiseks (antialiasing).

Vaata näidet Leafletiga veebis

dwg2maptilesi saab kasutada ka täpsete ülekatete loomiseks maailmakaartide jaoks. Selleks tuleb joonis tavaliselt teisendada lokaalsest koordinaatsüsteemist Web Mercatori koordinaatidesse, nagu neid tavaliselt kasutavad veebikaardid.

QCAD Professionaliga on kaasas eraldi käsurea tööriist jooniste teisendamiseks ühest koordinaatide referentssüsteemist (CRS) teise: dwgmapconvert.

dwgmapconverti kasutatakse tavaliselt kõigi antud joonisefaili koordinaatide teisendamiseks teadaolevast lokaalsest koordinaatsüsteemist koordinaatsüsteemi EPSG:3857 (mõnikord nimetatakse “Web Mercator”). See on koordinaatsüsteem, mida kasutab enamik veebikaarte, näiteks Google Maps või mapbox. Joonise kasutamiseks sisendina dwg2maptilesi jaoks ja georefereeritud kaardipaanide loomiseks peab joonis olema koordinaatsüsteemis EPSG:3857.

Koordinaatsüsteemis EPSG:3857 mahub kogu maailmakaart suumitasemel 0 ruutu suurusega 20037508.3427892m. Kui joonis teisendatakse sellesse koordinaatsüsteemi, teisendatakse joonis nii, et see mahub sellesse maailmaruutu ja et joonis asub õigetel projitseeritud maailmakoordinaatidel.

Näiteks kui joonis loodi süsteemis EPSG:2056 (ka LV95, lokaalne Šveitsi koordinaatsüsteem), saab selle teisendada süsteemi EPSG:3857 dwgmapconvertiga järgmiselt:

dwgmapconvert -segment-length=0.5 -crs-in=EPSG:2056 -crs-out=EPSG:3857 -f -o drawing_epsg3857.dxf drawing_epsg2056.dxf

Kuna kaardiprojektsioonid on tavaliselt mittelineaarsed, tuleb kõverad ja pikemad jooned jagada väikesteks joonesegmentideks, mida saab siis mittelineaarsel viisil projitseerida. Kui lüliti -segment-length on antud, teeb dwgmapconvert selle segmenteerimise automaatselt, kasutades antud segmendi pikkust. Segmendi pikkus määratakse algse joonise joonistusühikutes (siin meetrites).

-crs-in kasutatakse sisendkoordinaatsüsteemi määramiseks, siin EPSG:2056.

-crs-out kasutatakse väljundkoordinaatsüsteemi määramiseks, mis peab olema EPSG:3857, kui väljundit soovitakse hiljem kasutada dwg2maptilesiga.

dwgmapconvert on varustatud toega LV95-le sisendina ja WebMercatorile väljundina.

Muud koordinaatsüsteemid lisatakse tulevastes väljalasetes või saab kasutaja need lisada.

Uue koordinaatsüsteemi toe lisamiseks tuleb esitada kaks võrrandit koordinaatide teisendamiseks uuest koordinaatsüsteemist WGS84-sse (pikkuskraad/laiuskraad, nagu GPS-koordinaadid).

Uusi koordinaatsüsteeme saab lisada JSON-vormingus konfiguratsioonifaili nimega CRS.json, mis asub kasutatava QCADi paigalduse kaustas “scripts”. Siin on näide CRS.json failist, mis konfigureerib koordinaatsüsteemi LV95. Et saaksime kasutada LV95-t sisendina dwgmapconverti tööriista jaoks, peame esitama jaotise “toWgs84” x- ja y-koordinaadi teisendamise võrranditega. Siin kasutame ka kahte abimuutujat, x_ ja y_, mis tuleb lähtestada x-võrrandis, et need oleksid ligipääsetavad mõlemas võrrandis.

Võiksime esitada ka jaotise “fromWgs84”, et võimaldada teisendamist teistest koordinaatsüsteemidest LV95-sse. Mõlemad jaotised on valikulised, olenevalt teisendussuunast, mida soovite toetada.

{
"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" ]
}
]
}

Kui oleme joonise teisendanud EPSG:3857 koordinaatidesse, saame kasutada dwg2maptilesi, et luua paanid Leafleti ülekattekihi jaoks:

dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -b transparent -o path/to/output/directory drawing_epsg3857.dxf

Pange tähele, et peame edastama dwg2maptilesile lüliti -web-mercator, et anda talle teada, et see ei tohiks teha automaatsuumi, vaid luua kaardiülekatte täpsetes EPSG:3857 koordinaatides, nagu failis esineb.

-skip-empty käsib dwg2maptilesil mitte luua paane, mis ei sisalda ühtki joonise osa. Ilma selle lülitita luuakse iga suumitaseme kohta 2^zoomLevel paani. See oleks 4’194’304 paani suumitaseme 22 jaoks. Kuna ülekattejoonis katab väga tõenäoliselt vaid väga väikest osa maailmakaardist, tuleks seda lülitit alati kasutada ülekattekaartide loomisel.

-b transparent seab tausta läbipaistvaks, nii et kaarti saab kasutada ülekattena olemasoleva maailmakaardi jaoks (nt Google Map, mapbox jne). Et juhtida värvi, milles mustad või valged jooned kuvatakse, saab tausta seada mustaks läbipaistvaks või valgeks läbipaistvaks vastavalt lülitiga -b "#00ffffff" (valge läbipaistev taust, mustad jooned) või -b "#00000000" (must läbipaistev taust, valged jooned). Kindlasti edastage sel juhul ka lüliti -c, et sundida automaatset värvikorrektsiooni.

Argumenti -hq-postfix=@2x saab kasutada kõrge eraldusvõimega paanide (512px) loomiseks lisaks tavalistele 256px paanidele. Väärtust “@2x” soovitatakse ja kasutatakse laialdaselt kõrge eraldusvõimega paanide jaoks, ka Leafletis. Selle lülitiga luuakse iga madala eraldusvõimega paani “N.png” jaoks kõrge eraldusvõimega paan “[email protected]”.

Mitme protsessi (ja protsessorituuma) kasutamine

Section titled “Mitme protsessi (ja protsessorituuma) kasutamine”

Kaardipaanide loomine võib olla protsessorimahukas ülesanne, olenevalt suumitasemetest, joonise keerukusest ja muudest seadetest.

Kaardipaanide kiiremaks loomiseks saate töö jagada mitme saadaoleva protsessorituuma vahel. Selle funktsiooni jaoks pakub dwg2maptiles lülitit -s, et luua ainult osa vajalikest paanidest. Lüliti -s ootab kahte komaga eraldatud parameetrit: loodavat osa ja kasutatavate osade koguarvu. Näiteks -s 1,4 looks esimese osa neljast osast kokku. Ülaltoodud näite kõigi paanide loomiseks nelja protsessorituuma abil võiksite käivitada:

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 &
wait

Muidugi saaksite ülesandeid jagada ka suumitasemete kaupa või kasutada osi ainult kõrgemate suumitasemete jaoks ja ühte protsessi kõigi madalamate (odavamate) suumitasemete jaoks jne.

Interaktiivne näide pakub kaht ülekattekihti Šveitsi Zürichi kantoni kaardile: kaitstud metsaala ja looduskoridorid. Algandmed olid EPSG:2056 (LV95) koordinaatides ja teisendati dwgmapconverti abil EPSG:3857-ks.

Vaata näidet Leafletiga veebis