Generiranje pločica karte
QCAD dolazi s dva alata naredbenog retka za stvaranje pločica karte za uporabu s mrežnim prikazima karata kao što je Leaflet. Leaflet je JavaScript biblioteka za rad s interaktivnim kartama u pregledniku.
Prikaz crteža na mreži
Section titled “Prikaz crteža na mreži”Najjednostavniji slučaj uporabe mrežne karte jest pružiti posjetiteljima web-mjesta interaktivan prikaz crteža s mogućnošću zumiranja.
Evo primjera koji generira pločice karte za bilo koju zadanu datoteku crteža:
dwg2maptiles -z 0-6 -c -b white -hq-postfix=@2x -a -o path/to/output/directory drawing.dxfPrekidač -z određuje razine zumiranja koje treba generirati, ovdje od razine zumiranja 0 do razine zumiranja 6. To znači da počevši od razine 0 (cijeli crtež ili automatsko zumiranje), korisnik može zumirati 6 puta dok se ne dosegne granica. Svaki put kad korisnik zumira, crtež se povećava faktorom 2, pa uz 6 razina zumiranja korisnik može zumirati za faktor 2^6 (=64). Generiranje više razina zumiranja zahtijeva više vremena i prostora na disku. Svaka dodatna razina zumiranja obično zahtijeva četiri puta više vremena i prostora na disku za generiranje od prethodne.
Pločice se generiraju u zadanom izlaznom direktoriju (-o) sa standardnom strukturom direktorija i imenima datoteka za pločice karte (z/x/y.png).
U gornjem primjeru želimo da se crtež prikaže na bijeloj pozadini (-b white). Bijele linije treba ispraviti u crne kako bi se osiguralo da su sve linije vidljive (-c).
Argument -hq-postfix=@2x govori dwg2maptiles da generira pločice visoke kvalitete (hq, visoka razlučivost, retina) u veličini 512x512 px zajedno sa standardnim pločicama razlučivosti 256x256 px.
Da bismo dodatno povećali kvalitetu, koristimo i prekidač -a za zaglađivanje rubova (antialiasing).
Pogledaj primjer s Leafletom na internetu
Generiranje georeferenciranih pločica karte
Section titled “Generiranje georeferenciranih pločica karte”dwg2maptiles može se koristiti i za generiranje točnih preklopa za svjetske karte. Za to se crtež obično mora transformirati iz lokalnog koordinatnog sustava u Web Mercator koordinate koje se uobičajeno koriste u mrežnim kartama.
QCAD Professional dolazi s zasebnim alatom naredbenog retka za transformaciju crteža iz jednog koordinatnog referentnog sustava (CRS) u drugi: dwgmapconvert.
dwgmapconvert se obično koristi za pretvaranje svih koordinata u zadanoj datoteci crteža iz poznatog, lokalnog koordinatnog sustava u koordinatni sustav EPSG:3857 (ponekad nazivan “Web Mercator”). To je koordinatni sustav koji koristi većina mrežnih karata, primjerice Google karte ili mapbox. Da bi se crtež mogao koristiti kao ulaz za dwg2maptiles i proizvesti georeferencirane pločice karte, crtež mora biti u koordinatnom sustavu EPSG:3857.
U koordinatnom sustavu EPSG:3857 cijela svjetska karta stane u kvadrat od 20037508.3427892 m na razini zumiranja 0. Ako se crtež pretvori u ovaj koordinatni sustav, crtež se transformira tako da stane u taj svjetski kvadrat i da je smješten na ispravnim, projiciranim svjetskim koordinatama.
Na primjer, ako je crtež stvoren u EPSG:2056 (također LV95, lokalni švicarski koordinatni sustav), može se transformirati u EPSG:3857 pomoću dwgmapconvert na sljedeći način:
dwgmapconvert -segment-length=0.5 -crs-in=EPSG:2056 -crs-out=EPSG:3857 -f -o drawing_epsg3857.dxf drawing_epsg2056.dxfBudući da su kartografske projekcije obično nelinearne, krivulje i dulje linije moraju se podijeliti na male segmente linija koji se zatim mogu projicirati na nelinearan način. Ako je zadan prekidač -segment-length, dwgmapconvert to segmentiranje obavlja automatski, koristeći zadanu duljinu segmenta. Duljina segmenta zadaje se u jedinicama crteža izvornog crteža (ovdje metar).
-crs-in koristi se za određivanje ulaznog koordinatnog sustava, ovdje EPSG:2056.
-crs-out koristi se za određivanje izlaznog koordinatnog sustava, koji mora biti EPSG:3857 ako se izlaz kasnije treba koristiti s dwg2maptiles.
dwgmapconvert dolazi s podrškom za LV95 kao ulaz i WebMercator kao izlaz.
Ostali koordinatni sustavi dodat će se u budućim izdanjima ili ih može dodati korisnik.
Za dodavanje podrške za novi koordinatni sustav moraju se pružiti dvije jednadžbe za pretvaranje koordinata iz novog koordinatnog sustava u WGS84 (geografska dužina/širina, poput GPS koordinata).
Novi koordinatni sustavi mogu se dodati u JSON konfiguracijsku datoteku pod nazivom CRS.json, koja se nalazi u mapi “scripts” korištene QCAD instalacije. Evo primjera datoteke CRS.json koja konfigurira koordinatni sustav LV95. Da bismo mogli koristiti LV95 kao ulaz za alat dwgmapconvert, moramo navesti odjeljak “toWgs84” s jednadžbama za pretvaranje x i y koordinata. Ovdje također koristimo dvije pomoćne varijable, x_ i y_, koje se moraju inicijalizirati u jednadžbi za x kako bi bile dostupne u obje jednadžbe.
Mogli bismo također navesti odjeljak “fromWgs84” kako bismo omogućili pretvaranje iz drugih koordinatnih sustava u LV95. Oba odjeljka su neobavezna, ovisno o smjeru pretvorbe koji želite podržati.
{ "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" ] } ]}Generiranje pločica karte
Section titled “Generiranje pločica karte”Nakon što smo crtež pretvorili u EPSG:3857 koordinate, možemo koristiti dwg2maptiles za generiranje pločica za preklopni sloj u leafletu:
dwg2maptiles -web-mercator -skip-empty -hq-postfix=@2x -z 22 -b transparent -o path/to/output/directory drawing_epsg3857.dxfImajte na umu da moramo proslijediti prekidač -web-mercator alatu dwg2maptiles kako bi znao da ne treba izvoditi automatsko zumiranje, već generirati preklop karte u točnim EPSG:3857 koordinatama kako su prisutne u datoteci.
-skip-empty govori dwg2maptiles da ne generira pločice koje ne sadrže nijedan dio crteža. Bez ovog prekidača generirat će se 2^razinaZumiranja pločica po razini zumiranja. To bi bilo 4’194’304 pločica za razinu zumiranja 22. Budući da preklopni crtež vrlo vjerojatno pokriva samo vrlo mali dio svjetske karte, ovaj prekidač treba uvijek koristiti pri stvaranju preklopnih karata.
-b transparent postavlja pozadinu na prozirnu, tako da se karta može koristiti kao preklop preko postojeće svjetske karte (npr. Google karta, mapbox itd.). Za kontrolu boje u kojoj se prikazuju crne ili bijele linije, pozadina se može postaviti na crno prozirnu ili bijelo prozirnu pomoću -b "#00ffffff" (bijelo prozirna pozadina, crne linije) odnosno -b "#00000000" (crno prozirna pozadina, bijele linije). U tom slučaju obavezno proslijedite i prekidač -c kako biste prisilili automatsku korekciju boje.
Argument -hq-postfix=@2x može se koristiti za generiranje pločica visoke razlučivosti (512 px) uz uobičajene pločice od 256 px. Vrijednost “@2x” preporučuje se i široko koristi za pločice visoke razlučivosti, također u leafletu. S ovim prekidačem, za svaku pločicu niske razlučivosti “N.png” stvara se pločica visoke razlučivosti “[email protected]”.
Uporaba više procesa (i procesorskih jezgri)
Section titled “Uporaba više procesa (i procesorskih jezgri)”Generiranje pločica karte može biti procesorski zahtjevan zadatak, ovisno o razinama zumiranja, složenosti crteža i drugim postavkama.
Za brže generiranje pločica karte, posao možete podijeliti između više dostupnih procesorskih jezgri. Za ovu značajku dwg2maptiles nudi prekidač -s za generiranje samo dijela potrebnih pločica. Prekidač -s očekuje dva parametra odvojena zarezom: dio koji treba generirati i ukupan broj korištenih dijelova. Na primjer, -s 1,4 generiralo bi prvi dio od ukupno četiri dijela. Za generiranje svih pločica iz gornjeg primjera pomoću četiri procesorske jezgre, mogli biste pokrenuti:
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 &waitNaravno, zadatke biste također mogli podijeliti prema razinama zumiranja ili koristiti dijelove samo za više razine zumiranja, a jedan proces za sve niže (jeftinije) razine zumiranja itd.
Primjer
Section titled “Primjer”Interaktivni primjer pruža dva preklopna sloja na karti švicarskog kantona Zürich: zaštićeno šumsko područje i koridore za divlje životinje. Izvorni podaci došli su u EPSG:2056 (LV95) koordinatama i transformirani su u EPSG:3857 pomoću dwgmapconvert.