Veel

OpenLayers - joone joonistamisel lisage punkte joone tippudesse

OpenLayers - joone joonistamisel lisage punkte joone tippudesse


Tahaksin luua punkte, samal ajal kui joonistan oma kaardile joone OpenLayersis. See tähendab, et joone igas otsas ja lõpp-punktides on selline kuju nagu ruut, ring või teemant.

Mul on see osaliselt töötav. Ma saan joonistamise ajal lisada joone tippudesse punkte, kuid need on ühekordsed. Punkti / kuju ei renderdata rea ​​alguses, vaid joone teises punktis, nagu näete allpool. Samuti on joone otsal kaks punkti / kuju; te ei näe seda, kuna need on virnastatud.

Siin on minu kood, mis lisab punkti / kuju, kui joon oma joont (vtpunkttagasihelistamine minu lehelDrawFeaturejuhtimise seadistamine).

var path_control = new OpenLayers.Control.DrawFeature (vector_layer, OpenLayers.Handler.Path, {tagasihelistused: {punkt: funktsioon (punkt) {konsool.log (punkt); point_collection.push (punkt); var feature = uued OpenLayers.Feature .Vector (punkt); vector_layer.addFeatures ([feature]); vector_layer.redraw ();}}});

console.log (punkt)helistatakse õigel ajal. Kui ma oma välja annanpoint_collectionmuutuja, mille ma seadistan, et aru saada, mis toimub, punktid on erinevad kui need, mille abil väljastatakseconsole.log (punkt)alates koospunkthelista tagasi.

Mul on tunne, et sellel on midagi pistmist, kui ma tegelikult lisan punkte vektorikihile, kuid ei saa sellest aru.


Valige verdid, mida soovite joondada. Kui need kõik asuvad ühel serval, saate servasilmu valida menüüst Select.

Skaala teljel, millega soovite neid kõiki joondada, ja tippige "0".

Sisestage selle telje asukoha väärtus. Leian, et kõigepealt on 0-ga joondamine ja seejärel positsioneerimine piisav.

Siiski on olukordi, kus soovite esmalt joondamise ja seejärel positsioneerimise asemel kasutada 3D-kursorit.

On ka juhtumeid, kus võiksite kasutada kohandatud telge (teisenduse suund). Järgmine meetod kirjeldab, kuidas seda teha.


Selle näite kohaselt saate stiili muutmisega fikseeritud punkte lisada.

Vastuvõetud vastus viitab õigele dokumentatsioonile, kuid tundub olevat kasulik saada Stack Exchange'is üksikasjalik vastus, sealhulgas koopia / kleepitav näide.

Valige kontekstimenüüst käsk „Muuda stiili”

Lisage võtmepunktid väärtusega, millel on koordinaatide massiiv (väärtused 0 ja 1 vahel kuju küljel), nt. punktid = [[0,0, 0,0], [0,0, 0,5], [0,0, 1,0] jne]

Klõpsake nuppu Rakenda ja olete valmis.

Siin on eriti kasulik näide:

10 kinnituspunkti külje kohta (sh nurgad):

Või valge täisnurkse vaikekasti täielik stiil:

Kasulik ka standardsete kastide jaoks, näiteks 5 punktiga vasakul / paremal ja 10 üleval / all:

Loodetavasti aitab see kedagi. Kirjutasin pythoni skripti, et tekitada string sirgjoonel ühtlaselt paiknevate punktide jaoks


Töö vektor-KML-iga

KML (võtmeavade märgistuskeel) on populaarne GIS-vektorfunktsioonide formaat, kuna see on seotud Google Earthiga ja Google Mapsiga. KML on lihtsalt XML-i vormingus avatud spetsifikatsiooni järgi, mida varem haldas Google, kuid mis on nüüd kinnitatud OGC standardisse. Kuigi KML suudab määratleda rasterkihtide paigutuse, keskendume selles tunnis vektor-KML-ile.

KML-i peamine XML-märgend on kohamarker. See määratleb geograafilise tunnuse, sümboli ja lisateabe, mis võib hüpikaknas ilmuda. Mõnda kohamärki näete, kui salvestate KML-faili näite ja avate selle tekstiredaktoris. See pole küll kõige puhtam fail, kuid kohamärgi nägemiseks on see nii:

Pange tähele, kuidas strateegia on määratletud kui fikseeritud. See tähendab, et kõik KML-faili funktsioonid laaditakse kaardi laadimise ajal brauserisse.

KML-i kutsutakse objekti OpenLayers.Protocol.HTTP abil (erinevalt andmebaasidega ühendatavast objektist OpenLayers.Protocol.SQL). Peate määrama faili tee (mis võib olla täielik URL või suhteline tee nagu ülaltoodud) ja seejärel täpsustama, et vorminguks on OpenLayers.Format.KML. Kui vaatate kõiki API viite sisukorra klasse OpenLayers.Format (loendi avamiseks klõpsake vasakul asuvat külgriba, klõpsake nuppu "Format"), näete mitut tüüpi andmeid, mida saate oma kaardile vektoritena lisada .

Jällegi, ärge muretsege kogu süntaksi meelde jätmise pärast. Enamasti peaksite ülaltoodud näite lihtsalt oma KML-iga ühenduse loomiseks näpistama. API viide ja muud veebipõhised näidised aitavad teil kõigi saadaolevate omaduste mõistmisel veelgi paremini.


7 vastused 7

Võite kasutada kujundi geometric teegist tavalist hulknurga kuju, seades draw = none. Sõlmele nime a andes saavad tipud nimeks a.nurk 1, a.nurk 2 jne.

Aeg helistada foreach. Muidugi on võimalik kasutada palju muid tööriistu.

Siin on veel mõned võimalikud valikud, kui soovite värve muuta.

Siin on PSTricksi lahendus (koos mõne lisafunktsiooniga - eemaldage lihtsalt vajalik kood või eemaldage see):

Kuna keegi lisas asümptootmärgendi, siis annan asümptoodi lahenduse. Pange tähele, et Asymptote'i programmeerimisvõimalustel on järgmised eelised:

  1. Kõiki punkte saate massiivi salvestada, mis muudab nende viitamise lihtsaks.
  2. Soovi korral on lihtne ja loomulik luua punkte edaspidiseks kasutamiseks joonistamata.

Lahendus (koos kommentaaridega):

Soovitatav lahendus PSTricksiga. Pange tähele, et n-poolne hulknurk vajab graafikapunktide jaoks n + 1.

curvepnodes (rakendatud pst-sõlmes) vajavad proovipunkte (rakendatakse pst-plotis). See näib olevat natuke imelik, kuna IMHO peaks curvepnode'i rakendav pst-sõlm sõlmima pst-plot sisemiselt, et teha proovipunktid kättesaadavaks.


OpenLayers - joone joonistamisel lisage punkte joone tippudesse - geograafilised infosüsteemid

Lihtne installimine: Installiprogramm lisab rakenduse nii, et see laaditakse automaatselt Civil3D-ga. Rakendust saate juhtida käsurea sisestuse, rippmenüü või lindiliidese abil.

Laiendatud andmed
Loosimine: Joonista laiendatud andmete väärtuste põhjal geomeetria (luugid, mtekst, lisandid).
Muuda: Redigeerib MapWorks laiendatud üksuse andmeid ühel objektil. Dockable palett näitab laiendatud andmeid automaatselt, kui üks objekt on valitud.
Juhataja: Lubab xdata haldustoimingud objektide valikul.
Kujutise protsess
Sümbolid: Minge GPS-toega kaamerast otse CAD-i! Leiab GPS-fotosid (koos EXIF-andmetega) tähistavad sümbolid otse piltidelt. Loob pildile hüperlingi, projitseerib joonistussüsteemi, pöörab vaatamiseks (kui kandvaid andmeid on olemas) ja palju muud.
Lingi kontroll: Näitab lingitud pilte suuruses muudetavas eelvaate aknas, kui liigutate risti linke sisaldavate objektide (nt joonjoonega maja piirjooned) kohal.
TMS-pildid: Ehitab TMS (Tile Map Service) serveritest sisestatavat pilti. Valmistage plaanivaate kaardid, satelliidipildid või maastikupildid.
GPS-i värskendus: Valige hüperlingitega lisad ja värskendage GPS Exif (geosilditeave) lähtepiltidel. Lisab GPS-i omadused piltidele, millel pole kunagi geotagamisandmeid.
Krundi rasterid: Kavandab mitu paigutust rastritesse määratud eraldusvõimega ja loob kaasmaailmafailid.
Resolutsioon: Muutke (langetage) valitud pildikomplekti eraldusvõimet, säilitades samas suuruse ja asukoha.
Maailm: Lisab mitu TIF / JPG / PNG / SID-pilti, mis põhinevad maailmafailidel, või loob valitud pildist (isegi pööratud) World TFW / JGW / PGW / SDW-faili.
Muud tööriistad

Imporditööriist saab importimise ajal teha koordinaatide projektsiooni. Määrake lihtsalt iga faili (mõned automaatselt tuvastatud) ja sihtsüsteemi lähtekoodid. Kui te ei näe oma vormingut loendis, võtke meiega ühendust. Otsime oma loendisse alati täiendavaid vorminguid.


5. Töötlemise tööriistakast

Töötlemise tööriistakast võimaldab teil täita väga erinevaid georuumilisi funktsioone, keskendume mõnele eriti kasulikule.

Selle avamiseks klõpsake ülemisel tööriistaribal ikooni Tööriistakast.

See avab paneeli Töötlemise tööriistakast.

Lahustamisvahend

Lahustustööriist võimaldab teil eemaldada kihi ühendatud või kattuvate kujundite vahelised piirid. See muudab mitu kattuvat kuju tõhusalt üheks külgnevaks kujundiks. Siin on näide kattuvatest kujunditest:

Tippige paneelile Töötlemise tööriistakast 'lahustama'. kasti.

On mitmeid seotud tööriistu, mille nimi on "lahustunud", topeltklõpsake funktsiooni Lahusta vektorigeomeetria all (koos QGIS-logoga ), mis avab akna Lahusta. Veenduge, et rippmenüüs Sisendikiht ilmuks õige kiht, seejärel klõpsake nuppu Käivita

Aken Lahusta lahustub vahekaardile Logi, mis kinnitab, et protsess on lõpule viidud. Kui see ilmub, saate sulgeda akna Lahusta.

Nüüd on uus kriimustatud kiht nimega Lahustunud.

Ja äsja lahustunud kuju ilmub kaardile.

Puhverriist ja näited

Puhver laiendab kuju piiri kindlaksmääratud summa võrra. See pole lihtsalt kuju suuruse muutmine, vaid kuju kasutamine lähtepunktina ja selle laiendamine. Kasutades viimastes näidetes tehtud kujundeid, näitan, kuidas erinevad puhvrid toimivad.

Puhverriistale juurdepääsemiseks sisestage töötlemise tööriistakasti paneeli otsinguribale 'puhver':

Seejärel topeltklõpsake funktsiooni Puhver jaotises Vektorgeomeetria (koos QGIS-logoga ), mis avab puhvri akna.

Kraadid meetrite asemel!

Kui näete seda hoiatusteadet, peate enne puhvritööriista kasutamist tegema mõned täiendavad toimingud.

Koordinaatide tugisüsteemid jäävad selle juhendi reguleerimisalast välja. Piisab öelda, kui töötate piirkonnas, on hea kasutada spetsiaalselt selle piirkonna jaoks mõeldud projektsiooni. Minu punktide kihiks on määratud EPSG: 4283, mida kasutatakse kogu maailmas. Selle asemel projekteerin kihi sobivamale projektsioonile ümber.

Selleks paremklõpsake oma kihil, seejärel valige Ekspordi ja salvesta funktsioonid nimega.

Klõpsake nuppu ikoon CRS-i kõrval, mis avab koordinaatide viitesüsteemi valija akna.

MGA tsoonid on hea viis Austraalias funktsioonide kallal töötamiseks. Selle tüübi 283 leidmiseks koordinaatide viitesüsteemi valija kastist Filter. Klõpsake ühte eelnevalt määratletud koordinaatide viitesüsteemi all olevast tsoonist ja sobiv ala kuvatakse kaardivaates punase värviga.

Kasutatav piirkond asub Melbourne'is, seega valin 28355 ja klõpsan nuppu OK:

Järgmisena klõpsake ikooni Sirvi valiku Faili nimi kõrval ja valige sobiv nimi ja faili asukoht, kuhu salvestada.

Kui nimi ja asukoht on valitud, klõpsake nuppu OK ja veenduge, et linnukesse Lisa salvestatud fail kaardile on märgitud:

Nüüd on mul ümberprojekteeritud punktidega identne kiht:

Ja hoiatust kraadide kohta selle kihi puhul ei näidata:

Punkti puhverdamine

Kuna iga punkt on keskpunkt, tahaksin näha ala, mida katab 30 km raadiusega ring. Selle saavutamiseks tippige väljale Kaugus 30 ja määrake ühikute rippmenüü meetritelt kilomeetritele. Seejärel määrake Segmendid väärtusele 99 ja klõpsake nuppu Käivita:

Kui puhvri aken lülitub vahekaardile Logi, näitab see protsessi lõppu. Kui see ilmub, saate puhvri akna sulgeda.

Nüüd on uus kraapimiskiht nimega puhverdatud.

Ja äsja puhverdatud kujundid kuvatakse nüüd kaardil.

Lahustage ja puhverdage

Puhvri lahustamisest võib olla abi mitme üksuse puhverdamisel.

Kui ma peaksin nende punktide ümber tegema 40 km puhvri, kattuvad saadud kujundid nüüd:

Puhverdamise väljundi saab lahustada teises etapis, kuid me saame aega kokku hoida, valides valiku Lahusta tulemus:

Saadud kuju on nüüd üks hulknurk:

Liini puhverdamine

Kasutades maantee kajastamiseks Perthi kohale tõmmatud joont, tahaksin näha, et maanteelt oleks kaetud 300 m puhver. Selle saavutamiseks sisestage väljale Kaugus tüüp 300. Vaikimisi peaks see olema seadistatud meetriteks. Kui ei, vahetage seade meetriteks. Lõpuks määrake segmendid väärtuseks 99 ja seejärel klõpsake käsku Käivita:

Kui puhvri aken lülitub vahekaardile Logi, näitab see protsessi lõppu. Kui see ilmub, saate puhvri akna sulgeda.

Nüüd on uus kriimustatud kiht nimega puhverdatud:

Ja äsja puhverdatud kuju ilmub nüüd kaardile.

Hulknurga puhverdamine

Kängurusaare kohal joonistatud hulknurka kasutades sooviksin näha, et ala oleks kaetud 200 m puhvriga. Selle saavutamiseks sisestage väljal kaugus 200. Vaikimisi tuleks ühikuteks seada meetrid. Kui ei, siis vahetage ühikuid. Lõpuks määrake segmendid väärtuseks 99 ja seejärel klõpsake käsku Käivita:

Kui puhvri aken lülitub vahekaardile Logi, näitab see protsessi lõppu. Kui see ilmub, saate puhvri akna sulgeda.

Nüüd on uus kriimustatud kiht nimega puhverdatud:

Ja äsja puhverdatud kuju ilmub nüüd kaardile.

Segmendid? Otsakorgid? Liituda stiilidega? Mitra piirid?

Enamik neist seadetest pole vajalikud, kuid on kasulik neist, eriti segmentidest aru saada. Järgmised näited nende sätete mõju näitamiseks.

Segmendid

QGIS-s viitavad segmendid joonte arvule, mida kasutatakse ringi veerandi joonistamiseks. Allpool on mitu näidet, mis näitavad, kuidas ring võiks välja joonistada järk-järgult suurema rea ​​segmentidega:

Vasakult paremale joonistatakse need ringid 4, 8, 12, 16 ja 20 joonega.

QGIS küsib joone segmentide arvu üle veerandi ringist. Selle mõistmiseks võime vaadata veerandit ülaltoodud kujunditest, mille kontseptuaalne täiuslik veerandring on kaetud.

Vasakult paremale joonistatakse need veerandringid 1 joone, 2 joone, 3 joone, 4 joone ja 5 joonega.

QGIS võimaldab 1–99 segmenti. Enamikul juhtudel sobib ideaalselt 99 segmenti.

Otsakaaned

Lõppkorgid on kuju, mida QGIS kasutab joone otsa puhverdamisel. Valikuid on kolm: ümmargune, lame ja ruudukujuline.

Ümmargune otsakork lisab puhvri otsa ümardatud sektsiooni. Ümara otsa korki suhtes kehtivad samad reeglid segmentide kohta (vt eelmist jaotist). Siin on näide:

Lameda otsaga kork lõpetab puhvri täpselt joone lõpus, allpool on näide:

Ruudukujuline otsakork lisab puhvri otsa ruudukujulise sektsiooni, siin on näide:

Liitu stiilidega

QGIS-l on kolmnurga puhverdamisel nurkade joonistamiseks kolm võimalust: ümmargune, mitra ja kaldus.

Ümmargune liitumisstiil järgib samu reegleid eelmises lõigus mainitud segmentide kohta. See lisab ümmarguse nurga, nagu allpool näidatud:

Mitra liitumisstiil lisab täiendavat ruumi kuju nurgast kaugemale ja katab otsa tasase pinnaga, nagu allpool näidatud:

Kaldus liitumisstiil võtab kuju mõlemalt küljelt tõmmatud puhvri ja lisab nende ühendamiseks igasse nurka lameda joone, nagu allpool näidatud:

Mitra piir

See säte kehtib ainult siis, kui kasutatakse lesti liitumisstiili: see määrab, kui kaua lüüra läheb kuju nurgast kaugemale.


2 vastust 2

Selle Vikipeedia artikli kohaselt võite võtta tippudeks, kui keskmes on päritolu

Artikkel annab ka mõned alternatiivid, näiteks $ (1, 1, 1,), (1, -1, -1), dots $, millega võib olla lihtsam töötada.

Mul juhtus sülearvutis olema sobiv pilt (esmakursuse jaoks), nii et ma ei suutnud vastu panna

See peaks olema metaanimolekul, erinevalt tetraeedrist, nii et mõelge vesinikuaatomitele (rohelistele) kui tetraeedri tippudele. Nagu näete, on see Vana Johannese (+1) vastuses teine ​​paigutus. Üks tipp on punktis $ (1,1,1) $ ja ülejäänud kolm punktides $ ( pm1, pm1, pm1) $ täpselt kaks miinusmärki. Teisisõnu, neli valitud kuubi nurka.

Teiseks toetan Vana Johni arvamust, et see sobib 3D-pöörete jaoks väga hästi, sest teate kindlasti pööramise mõju kuubile.


Testid

Tunniajal on kolm ainekatset ja üks kumulatiivne test. Testid EI OLE avatud raamat ega märkmed. Iga aine test koosneb 20 küsimusest - 10 küsimust, mis hõlmavad loengumaterjali, ja 10 küsimust, mis hõlmavad harjutusi. Kumulatiivne test koosneb 40 küsimusest - 20 loenguküsimust ja 20 harjutusküsimust. Iga küsimus on väärt 0,5 punkti. Testid on üles ehitatud üldise arusaamise mõõtmiseks ja tugevdamiseks.


Vektorandmete vormingud

Vektorandmete mudel on ainult üldine strateegia objektide esitamiseks, seal on kümneid füüsilisi andmestruktuure (failivorming), mis korraldavad vektorigeomeetriat ja atribuute erineval viisil, ainulaadsete võimalustega. Näiteks suudavad mõned vormingud topoloogiat salvestada, teised aga ei saa geomeetriat ja atribuute eraldi failides, teised aga tavaliselt ruumiandmebaasid) salvestage geomeetria atribuutide tabelis ühe veeruna.

GIS-väline graafiline tarkvara, sealhulgas CAD ja joonistusprogrammid nagu Adobe Illustrator, põhinevad samuti vektorimudelil.


Vaata videot: 01. React + OpenLayers. TypeScript. Map, VectorLayer