Veel

Lõigake hulknurk uuteks hulknurkadeks, kasutades ArcGIS-i jooni

Lõigake hulknurk uuteks hulknurkadeks, kasutades ArcGIS-i jooni


Olen GIS-is uus ja töötan ArcMapiga.

Mul on surnuaia ortofotoga kiht. Selle peale kiht vana skaneeritud kaardiga sama piirkonnast, millel on kõik hauad.

Tahaksin teha kihi kõigist haudadest.

Ma teen seda nii, et joonistan kõigepealt mõne haua äärde mõned abijooned, seejärel joonistan hulknurga funktsiooni ja kasutan seejärel lõikamise polügooni tööriista, et lõigata see piki abijooni.

Kas seda protsessi on võimalik kuidagi kiirendada? Nagu tööriist, mis lõikab hulknurka automaatselt mööda abijooni. Selline tunnistab ära kõik sirvikud, mis ristuvad valitud polügoonist, ja lõikab selle seejärel mööda jooni väiksemateks hulknurkadeks.


Ma ei ole kursis ArcMapi geotöötlustööriistaga, mis jagaks polügoonid joone järgi. (Liidu tööriist jagab polügoonid teiste hulknurkade kaupa.)

Ma soovitaksin muuta oma töövoogu, mis peaks aitama teil lõppeesmärki saavutada. Selle asemel, et joonistada oma "abijooni" liini joonena, miks mitte joonistada neid hulknurkadeks? See säästab teid sammust, mille järgi peate hulknurgad hiljem joonistama, ja see peaks muutma asjad teie jaoks kiiremaks.

Mõned näpunäited selle digitaliseerimiseks otse hulknurkadesse lihtsustamiseks:

  • Kui teie krundid on kõik ristkülikukujulised (mis näib olevat teie ekraanipildil), saate ristküliku ehitamise tööriista abil oma kastid joonistada, mitte hauaplatsi nelja nurka digiteerida. Vaadake sellel lehel jaotist "Ristkülikukujuliste hulknurkade loomine".

  • Sümboliseerige oma polügoonikiht poolläbipaistvaks, mis asub vahekaardi Kuva vahekaardil Atribuudid. See võimaldab teil näha, mis on teie hulknurkade all, samal ajal kui näete ka polügoonidega kaetud alasid. (Täname ChrisWi soovituse eest.)

  • Lülitage punktide, otsade ja tippude (mitte joonte) klõpsamine sisse, et teie hauapolügooni piirid üksteisega täpselt joonduksid.


ETGeoWizardsi hulknurga menüüs on tööriist Jagatud polügoonid koos joonjoonedega. Tööriist on lisatud tasuta allalaaditavale failile, kuid usun, et faili suurus on piiratud. Teavet leiate veebisaidilt: http://www.ian-ko.com/


Selle probleemi lahendamiseks on mitu võimalust ja saadaolevad lahendused sõltuvad teie litsentsitasemest. Enamik neist vajab kõrgemat kui Basic või kolmanda osapoole tööriista.

Esiteks, et vastata hulknurga sirgega jagamise otsesele küsimusele, vaadake siin teisi duplikaadiküsimusi:

Seal on geotöötlustööriist Arc'is, mis seda teeb, nagu nendes küsimustes mainitud, nimega Feature to Polygon. See nõuab aga täiustatud litsentsi. On ka muid lahendusi, mis nõuavad lisandmooduleid või kohandatud tööriistu, mida ka nendes küsimustes mainitakse.

Teise võimalusena saate oma töövoogu muuta, nagu soovitas Sara. Kui joonistate niikuinii juba kõik jooned, saate need mitmel viisil otse teisendada hulknurkadeks, kui loote täielikult suletud piirkondi. Jällegi funktsioon Feature to Polygon teeb seda, kuid nõuab täpsemat litsentsi. Tööriistaribal Täpsem redigeerimine on veel üks alternatiiv nimega Hulknurkade ehitamine saadaval kas litsentsitasemel Standard või Täpsem (kuid mitte Basic). Seda arutatakse siin veel kahes küsimuses:

Teie praegune meetod ühe suure hulknurga joonistamiseks ja selle tükeldamiseks on vähem klikke (18 haua rida jaoks 18) kui iga hulknurga eraldi joonistamine (32 klikki, sõltuvalt automaatse täitmise meetoditest vähem).


Jagamisjooned ja hulknurgad

ArcMapis saate joonte ja hulknurga funktsioone hõlpsalt jagada. Ühe rea käsitsi kaheks jagamiseks kasutage tööriista Jagamine. Rida on jaotatud hiirega klõpsamise kohas. Algse rea atribuudid kopeeritakse igale uuele reale. Näiteks saate tööriista Jagamine abil jagada tänava keskjoone kaheks tunnuseks, oodates maatükkide vahel uue keskjoone lisamist.

Liinide jagamine kindlaksmääratud kaugusel või protsentides

Rida saate jagada ka menüü Redaktor käsuga Split. Kasutage käsku Split, kui teate kaugust, mille juures soovite joont jagada, mõõdetuna esimesest või viimasest tipust. Seda käsku saate kasutada ka siis, kui soovite rea eraldada teatud protsendi ulatuses algsest pikkusest. Näiteks saate käsu Split abil jagada elektriliini teadaoleval kaugusel mööda joont, kui soovite lisada elektriteenuse, mis vajab oma teenust.

Jagamise dialoogiboks kuvab algse funktsiooni pikkuse praegustes kaardiühikutes, et saaksite seda täpselt jagada. Kui jagate rida käsuga Split, kopeeritakse algse rea atribuudid igale uuele reale

Hulknurkade jagamine

Hulknurkade jagamiseks geoandmebaasides ja kujufailides kasutage ülesannet Lõika polügooni funktsioonid. Hulknurk jagatakse teie loodud joonise järgi. Algse funktsiooni atribuudid kopeeritakse igasse uude funktsiooni.

Kui jagate hulknurki, veenduge, et teie visand lõikaks valitud polügooni täielikult läbi. Servalõikamise sisselülitamine aitab sageli tagada lõiketöö edukaks lõpuleviimiseks.


Süntaks

Sisendfunktsioonid, mis peavad olema hulknurgad.

Väljundjoone funktsiooniklass.

Määrab, kas tuvastada ja säilitada hulknurga naaberteavet.

  • IDENTIFY_NEIGHBORS - polügooni naabersuhe tuvastatakse ja salvestatakse väljundis. Kui hulknurga erinevad segmendid jagavad piiri erinevate hulktahukatega, jagatakse piir nii, et igast kordumatult jagatud segmendist saab joon, mille väljundis on salvestatud kaks naaberpolügooni FID-d. See on vaikimisi.
  • IGNORE_NEIGHBORS - polügooni naabrussuhet eiratakse. Iga hulknurga piir muutub reafunktsiooniks, mille väljundisse on salvestatud algne hulknurga tunnuse ID.

Süntaks

Sisendraster, millest lahtrid eraldatakse.

Hulknurk (või hulknurgad), mis määrab eraldatava sisendrastri ala.

Iga hulknurga osa on tippklasside määratletud tippude loend. Hulknurkade osade loendi määratlemiseks võib kasutada ka klassi Polygon.

Punktid määratakse x, y koordinaatide paaridena samades kaardiüksustes kui sisendraster. Objekti kuju on:

Pange tähele, et hulknurga sulgemiseks peaks viimane koordinaat olema sama, mis esimene.

Tuvastab, kas lahtrid ekstraheeritakse sisendpolügoonis või väljaspool seda.

  • INSIDE - märksõna, mis täpsustab, et sisendpolügooni sees olevad lahtrid tuleks valida ja kirjutada väljundrasterile. Kõik polügoonivälised lahtrid saavad väljundrasteril NoData väärtused.
  • VÄLJAS - märksõna, mis täpsustab, et väljaspool sisendpolügooni olevad lahtrid tuleks valida ja kirjutada väljundrasterile. Kõik polügooni sees olevad lahtrid saavad väljundrasteril NoData väärtused.

Tagastusväärtus

Sisendrasterist eraldatud lahtriväärtusi sisaldav väljundraster.


Mitmeosaliste hulknurkade loomine ja redigeerimine

Mitmeosalised funktsioonid koosnevad mitmest füüsilisest osast, mis viitavad ainult ühele atribuutide komplektile. Näiteks Hawaii moodustavad üksikud saared on sageli esindatud mitmeosalise hulknurga tunnusena. Mitmeosaliste funktsioonide abil saate luua, redigeerida ja nendega töötada, kasutades redigeerimisvahendeid ja geotöötlustööriistu.

Siin on mõned levinumad ülesanded, mis on tehtud mitmeosaliste funktsioonidega töötamisel.

  • Uue mitmeosalise funktsiooni loomiseks looge esimese osa visand, paremklõpsake ja seejärel klõpsake nuppu Lõpeta osa. Joonistage järgmise osa visand ja lõpetage skeem, kui olete kõigi osade loomise lõpetanud. (Käsu Finish Part otsetee on klahvi SHIFT hoidmine ja klõpsamine.)
  • Olemasolevatest hulknurkadest mitmeosaliste funktsioonide loomiseks, koondades need atribuutide põhjal, saate kasutada käsku Editor & gt Merge (toodab mitmeosalisi hulknurki, kui valitud polügoonid pole külgnevad) või tööriista Lahusta geotöötlus ja määrata, et väljundil on mitmeosalised hulktahukad.
  • Osa lisamiseks olemasolevale funktsioonile kasutage uue osa digiteerimiseks tööriista Jätka funktsiooni.
  • Osa eemaldamiseks olemasolevast mitmeosalisest funktsioonist topeltklõpsake funktsiooni Redigeerimise tööriistaga, paremklõpsake kustutataval osal, osutage osale Osale ja seejärel klõpsake nuppu Kustuta. Kui olete valmis, viimistlege visand.
  • Osade eraldamiseks üksikute hulknurga funktsioonideks saate need valida ja kasutada tööriistaribal Täpsem redigeerimine käsku Explode. Võite käivitada ka geotöötluse tööriista Multipart to Singlepart.

Pidage meeles, et mitmeosalise hulknurga osad on ruumiliselt eraldatud. Nad võivad üksteist tippudes puudutada, kuid nad ei saa servi jagada ega kattuda. Mitmeosalise hulknurga visandamisel liidetakse kõik osad, millel on ühine serv, visandi lõpetamisel üheks osaks. Lisaks eemaldatakse igasugune osade kattumine, jättes auku hulknurka.


Süntaks

Hulknurga tunnuseid tuleb lihtsustada.

Loodav väljundpolügooni funktsiooniklass.

Määrab hulknurga lihtsustamise algoritmi.

  • POINT_REMOVE - hoiab nn kriitilisi punkte, mis kujutavad polügooni olulist kuju, ja eemaldavad kõik muud punktid. See on vaikimisi.
  • BEND_SIMPLIFY - hoiab polügooni põhikuju ja eemaldab piirist kõrvalised painded.

Tolerants, mis määrab lihtsusastme. Tuleb määrata tolerants ja see peab olema suurem kui null. Saate valida eelistatud üksuse, vaikimisi on funktsioon.

  • Algoritmi POINT_REMOVE puhul on teie määratud tolerants suurim lubatud nihe.
  • Algoritmi BEND_SIMPLIFY puhul on teie määratud tolerants võrdluskõvera algjoone pikkus.

Määrab säilitatava lihtsustatud hulknurga minimaalse ala. Vaikeväärtus on null, see tähendab kõigi polügoonide säilitamiseks. Määratud väärtuse jaoks saate valida eelistatud üksuse. Vaikimisi on see funktsiooni üksus.

Määrab, kuidas topoloogilised vead (võimalik, et need on protsessis sisse viidud, sealhulgas joone ületamine, joone ülekatmine ja varisenud nullpikkusega jooned) käsitletakse.

  • NO_CHECK - määrab topoloogiliste vigade kontrollimata jätmise. See on vaikimisi.
  • FLAG_ERRORS - määrab topoloogiliste vigade märgistamise, kui neid leitakse.
  • RESOLVE_ERRORS - määrab topoloogiliste vigade lahendamise, kui neid leitakse.

Määrab, kas hoida kokkuvarisenud null-ala hulknurki punktidena, kui neid leidub protsessis. See valik kehtib ainult siis, kui on määratud NO_CHECK või FLAG_ERRORS.

  • KEEP_COLLAPSED_POINTS - määrab ahendatud nullpiirkonna hulknurgad punktidena. Ahendatud hulknurga piiride lõpp-punktid salvestatakse väljundi tunnusklassi asukohas punktiomaduste klassis, võttes väljundfunktsiooniklassi nime pluss järelliite _Pnt. See on vaikimisi.
  • NO_KEEP - määrab, et ahendatud nullpiirkonna hulknurki ei tuleks punktidena hoida isegi siis, kui need protsessis leitakse, seetõttu jääb punktijooneklass tühjaks.

Teisendage ruumilised jooned ruumilisteks hulknurkadeks

Kas on lihtne moodus ruumiridade teisendamiseks ruumilise hulknurga objektiks R-s?

Korratav näide

Olen siia kokku pannud korduvkasutatava andmekogumi, mis on viaduktipaketi kaudu alla laaditud OpenStreetMapsist. See eraldab mõne Lõuna-Inglismaa lennujaama asukohad:

Andmed kuuluvad siiski klassi "SpatialLinesDataFrame". See ajab asjad tõesti sassi, kui soovite teha mis tahes vormis ruumilisi liitumisi või ristmikke, kuna see tunnistab ainult piirkonna serva.

Potentsiaalsed müügivihjed

Uurisin rakenduse SpatialLines2PolySet kasutamist maptools paketis, kuid uurimise ajal ei tooda ma muud kui veakoodid, nii et ma ei arvanud, et nende küsimuse lisamine oleks väärt. Nende funktsioonide kohta on mõned juhised siin: https://rdrr.io/rforge/maptools/man/SpatialLines2PolySet.html

Märkused

Olen otsinud veebist ja SO-st sarnaste küsimuste leidmiseks ja püüdnud leida otseselt sellele viitavaid küsimusi. Tundub, et paljud viitavad SpatialPunktide -> SpatialLineDataFrames - teisendamisele, kuid mitte SpatialLineDataFrames -> SpatialPolygonDataFrames. See küsimus on sarnane, kuid puudub vastus (või reprodutseeritav andmekogum): sulgege ruumjoon hulknurka, kasutades shapefile'i

Lisaks tundub kummaline, et see oleks keeruline, kuna seda saab ArcGIS-is nii lihtsalt teha, kasutades tööriista "Feature to Polygon". See funktsioon ei vaja täiendavaid argumente ja see töötab ideaalselt.


ArcGIS-i lõikamine ja QGIS-i lõikamine

Kuidas ma selle blogipostitusega lõpetasin. Ma kasutan QGIS-i umbes 90% oma GIS-i töödest tänapäeval ja veetsin umbes 6 tundi üsna keeruka maakatte digiteerimiseks. Sellest & # 8211 saate järgmise & # 8230.

See oli alati üks asjadest, mida oli GIS-i jaoks täiesti uuele inimesele raske seletada: ArcGIS-l on kaks klipi tööriista.

  • Üks tööriist lõikab ühe andmekihi teise vastu. Näide: kõigi teede lõikamine maakonna piirini.
  • Üks tööriist lõikab polügoonikihi mingisuguse sisendi põhjal, olgu see siis joon või hulknurk. See on leitud redaktori tööriistariba menüüst Redaktor alt.

Kui andmete puhastamisel satun ühte probleemi, kattub hulknurk. Keegi joonistab hulknurga ja joonistab siis selle kohale kattuva teise. Klassides ja klientidega ütlen neile alati ja kujutan ette, et maailm on tasane nagu pannkook. Hulknurga 2 & # 8220into & # 8221 hulknurga 1 saamiseks peate selle kattuva osa klõpsama / eemaldama redaktoritööriista & # 8221 abil.

Lisate teise hulknurga, mis sulgeb osaliselt esimese

Algatate klipi tööriista redaktori tööriistaribal

Kui eemaldan teise hulknurga, näete, kuidas esimene hulknurk on lõigatud

Niisiis, kus on QGIS-i lõikeriist? Noh & # 8230 .. seal on geotöötluse lõikeriista duplikaat. QGIS-i südamikku pole sisse ehitatud klipitööriista. Välja arvatud, et on olemas viise & # 8220klippimiseks & # 8221, millega saab sama feat saavutada veidi erineval viisil.

  • Kui digiteerite hulknurki ja soovite digiteerida siseruumide hulknurka (oletame, et panete veekogu põllule), saate digiteerimiseks kasutada tööriista & # 8220täitmisrõngas & # 8221 ja see klammerdab suure polügooni koheselt väikese hulknurga sobivaks . Selle leiate tööriistaribalt Digiteerimine.
  • Clipperi pistikprogramm. Valige väiksem hulknurk ja klõpsake lõikuri nuppu ja see klammerdub.
  • On veel üks pistikprogramm nimega Digitizing Tools. Kui teete QGIS-is digiteerimist, panin selle & # 8220Needed & # 8221-ga üles.

See lõhestab multipolügoneid. See teeb teie digiteeritud joontega igasuguseid trikitusi & # 8230..ja klippe. See klammerdub vastu erinevat kihti. Mõni aeg tagasi rääkisin mälukihtidest ja kriimustuskihtidest. Noh & # 8211, enne kui leidsin Clipperi pistikprogrammi, kopeerisin andmeid mällu ja käisin & # 8220Cut Polygonit teise kihiga & # 8221. Oletame, et teil on mitu hulknurka, mille soovite suure vastu klippida.

  • Valige ja kopeerige need mälukihti
  • Kustutage need algsest kihist välja
  • Käivitage & # 8220lõigake hulknurk teise kihiga & # 8221 ja see teine ​​kiht on mälukiht (vaikekihi nimi on kleebitud).
  • Kopeerige ja kleepige need tagasi, kui see on lõppeesmärk.

ENNE Pärast tööriistade digiteerimist

Kas ma tahaksin seda teha paljude ja paljude funktsioonide abil? Ei. See on mõeldud digiteerimiseks, mitte geotöötlemiseks ja tuhandete asjade lõikamiseks tuhandete muude asjade vastu.

Clipper suudab seda ehkki teha. Paar korda, kui proovisin, lõin topoloogiaprobleeme, nii et lõikur on olnud lihtsalt ühe asja klõpsimine ühe teise vastu. Mulle on ArcGIS-iga alati meeldinud klipitööriist, kuid see võib korraga käitada ainult ühte hulknurka. Kas QGIS on parem? Mitte tingimata. Kas ArcGIS on parem? Ei, see pole lihtsalt tuttavam. Milline tarkvara on teie valitud relv, saate teha samu GIS-i trikke.


Lõigake hulknurk uuteks hulknurkadeks, kasutades ArcGIS - Geographic Information Systems jooni

ArcGIS-i foorumitel on küsitud palju allolevaga sarnaseid küsimusi:

& quotPüüan jagada maakondlikud hulknurgad tükkideks ja tahan selle jagada maanteed kasutades. . Tundub suhteliselt lihtne toiming, kuid ma ei saa aru, kuidas seda ArcMap Editoriga teha. Arvasin, et saan seda teha viisardiga GeoProcessing, kuid ei saa, sest üks on reafail ja teine ​​hulknurkfail. & Quot

Mõned vastused (ainsad, mis andsid mingisuguse lahenduse) olid järgmised:

& quot- valige jagatav hulknurk
- muutke ülesandeks Lõigake polügooni funktsioonid
- kasutage visanditööriista
- paremklõpsake teed, mis jagab polügooni
- valige käsk Asenda visand
- kasutage F2 või Finish Sketch & quot

Eespool toodud vastus võib selle töö ära teha, kuid AINULT juhul, kui kogu maakonda läbib tee ilma teise teega ristumata. Teisisõnu peate ülalnimetatud lähenemisviisi kasutamiseks jagama ühe polüli, mille otsad on polügoonist väljas.

Kuidas suhtute ülaltoodud protseduuri kasutamisse kõigi maakondade jagamiseks teedevõrgu iga teega - ÜKS ÜKS? Teine küsimus on, kui edukas see saab olema - mitte nii, et paljud teed ületavad maakonda, ristumata teise teega.

Selles dokumendis kirjeldatakse protseduuri, mis aitab teil jagada hulknurga andmekogum koosjoonte andmekogumiga ArcView litsentsi ja funktsioonides ET GeoWizards saadaval olevate funktsioonide abil.

Pange tähele, et ülaltoodud lingid on seotud funktsioonidega, mis on saadaval ET GeoWizardsi liidese kaudu. Kui toiming tuleb teha mudeli koostajas - vaadake vastavaid tööriistu, mis on saadaval ET GeoWizardsi tööriistakastis. Kui see toimub VBA skripti kaudu - vaadake jaotist ET GeoWizards Scripting

Meil on samas piirkonnas neli USA maakonda ja maanteede võrk. Eesmärgiks on maakonnapolügoonide jagamine (jagamine) kiirteevõrgu põhjal.

Meil on originaalsed hulknurgad (maakonnad) ja pooljooned, mida kasutada jagamiseks (kiirteed). Mis oleks, kui selle asemel, et proovida maakonna polügoneid kiirteeliinidega jagada, läheme samm tagasi - saame maakondade piirid (Polylines), ühendame need kiirteedega (Polylines) ja kasutame ühendatud andmestikku uhiuue hulknurga andmekogumi ehitamiseks. Siis saame lihtsa ruumilise liitmise abil algsed atribuudid maakonna polügoonidest saadud andmestikku. Protsess samm-sammult:


Keskjooned hulknurga kanalivõrgust

Mõtlesin, kas keegi on hiljuti keeruka hulknurga või rasterkanali võrgu keskjooneks teisendanud? ESRI tööriistakastid või kolmandate osapoolte tööriistad on liikuvad sihtmärgid, nii et mõnda vanast lõimest on raske rakendada. Minu loodud kanalite hulknurkade võrk loodi madalast järvesüsteemist välja lõigates ligi 20 000 küngast ja põllupõhja (arheoloogiline näide). Ülejäänud kanali hulknurga võrk on üks suur kompleksne hulknurk. Teisendasin selle rasteriks ja proovisin rasterist joonjoonte tööriista, kuid jõudsin polüliini funktsiooniklassini, mis täitis pärast paaripäevast jooksmist kanalirakke 800 miljoni joonega. Ilmselgelt mitte see, mida ma otsisin. Ma ei proovinud ArcScani vektoriseerimist, kuna minu raster oli 1 või andmed puudusid ja ArcScan nõuab kaheväärtuslikku rastrit. Ma saan oma rastri teisendada ja proovida. Pole kindel, kas on olemas meetod minu keeruka hulknurga teisendamiseks otse joonteks (keskjooned). Tulemuseks olevad read omistan fakti järel, nii et pean lihtsalt looma luustiku või keskjoone funktsioonid. Kõik ideed on teretulnud.