Viac

Ako vytvoriť klinový tvarový súbor v R?


V programovaní R som celkom v poriadku, ale v GIS (hlavne v R) pomerne nový.

Mám sadu súradníc a chcel by som okolo nich vytvoriť vlastný tvar. Čo chcem robiť krok za krokom:

  1. Vytvorte kruh okolo bodov a rozdeľte ho na niekoľko sektorov. Polomer a počet klinov sú v tomto bode uvedené ručne.
  2. Zoskupte body podľa klinov
  3. Vypočítajte polomer daného klinu na základe bodov charakteristických pre body v sektore (mám na to model)
  4. Nastavte polomer sektor po sektore.
  5. Exportujte kliny ako rôzne oblasti súboru mnohouholníka

Bohužiaľ som uviazol na samom začiatku. Vytvoril som štandardný koláčový graf pomocouadd.pie {mapplots}, ale nebol som schopný previesť jeho sektory na priestorové objekty.


V záujme ohýbania nástrojov spôsobom, pre ktorý nie sú určené, sa tam rýchlo dostanete pomocoumaptoolsamriežkabalíkov.

(Mali by ste naozaj premýšľať o tom, že to urobíte so správnym premietnutím mapy, a v niektorých ohľadoch by to bolo jednoduchšie.)

knižnica (mriežka) ## povedzme, že v tomto bode longlat chceme kruh s polomerom „distm“ llpt <- c (147, -42) distm <- 10 000 ## rozhodnúť, čo distm pre teba znamená offsetLL <- c (cos (llpt [2] * pi / 180), 1) / ((6370997 * pi) / 180 / distm) ## kruhové segmenty veľmi podobné mriežke pri póle g <- mriežka (seq (-180, 180, podľa = 45), c (-90, -90 + offsetLL [2]), xlim = c (-180, 180), proj = "+ proj = laea + lat_0 = -90 + ellps = sphere", dlaždice = TRUE) ## rozbiť objekt a knižnicu posunov / mierok (maptools) g1 <- elide (g, scale = mean (offsetLL)) g2 <- elide (g1, shift = llpt - offsetLL / 2) proj4string (g2) < - CRS ("+ proj = longlat + ellps = WGS84 + údaj = WGS84 + no_defs + towgs84 = 0,0,0")

Je neskoro, ale niektorým ľuďom to môže v budúcnosti pomôcť ... Tento balík môžete nainštalovať a vytvoriť v tvare R vyrovnávacie pamäte / geometrie ako objekty sf v R. Použiť

knižnica (buffeRs) buffer_wedge (bod, polomer, stupeň)

https://cran.r-project.org/package=buffeRs


Pozri si video: Tvarované stromy - Niwaki (Október 2021).