Vairāk

Ģeogrāfiskās karstuma kartes ar koncentriskiem apļiem pēc attāluma?


Es meklēju, lai izveidotu ģeogrāfisko karstuma karti (izmantojot “ggmap”), kas pārklāj noteiktu dimensiju (lai sāktu, mājokļu cenas) virs lata / lona netālu no pilsētas centra. Tad es vēlos izveidot apļus ar vienādu attālumu (t.i., 10 jūdzes uz apli), lai iegūtu priekšstatu par tālu. Es arī vēlētos, lai mana karstuma karte no zilas kļūtu sarkana, lai dimensija būtu zema vai augstāka. Es ar to cīnījos vienu dienu, un tas ir tik daudz, cik es saņēmu:

pieprasīt (ggmap) pieprasīt (ggplot2) ggmap (Ņujorkā) + stat_density2d (dati = pozīcijas, kartēšana = aes (x = lon, y = lat, aizpildīt =… līmenis…), geom = "daudzstūris", alfa = 0,2) + geom_point (forma = 1, aes (x = mājoklis.dati.NY $ garums, y = mājokļa.dati.NY $ platums, lielums = kvadr. (attālums)), dati = pozīcijas, alfa = .9, krāsa = "melna") + scale_size (diapazons = c (3,20)) + laboratorijas (x = "Garums", y = "Platums", fill = "Mājokļu  n cenu blīvums") + ggtitle ("Mājokļu cenas pēc attāluma  n Ņujorka, 2014. gada decembris ")

Kods veic šādas darbības:

  1. Ielādējiet izveidoto GoogleMap failu kā slāni
  2. Izveidojiet cenu siltuma kartes
  3. Pievienojiet koncentriskus apļus ar rādiusu ~ attālums no pilsētas centra (VAJADZĪGS DARBS)
  4. Mērogot apļus (vai vismaz mēģināt)
  5. Pievienojiet marķējumu, lai zemes gabals būtu salasāmāks
  6. Pievienojiet sižeta nosaukumu

Kods rada šādu izvadi:


Šeit ir ieteikums. Es izveidoju lokus argBufferun pēc tam pārprojektējiet tos WGS84, lai iegūtu ggmap.

Izmantojiet, lai mainītu siltuma kartes krāsasscale_fill_gradient ().

bibliotēka (ggmap) bibliotēka (sp) bibliotēka (rgdal) bibliotēka (rgeos) # iegūstiet NY koordinātas nyc <- ģeokods ("New York") # izveidojiet spatialPoint objekta koordinātas (nyc) <- ~ lon + lat proj4string (nyc) < - CRS ("+ init = epsg: 4326") # atkārtoti projektējiet Google Mercator (metri) nyc.mrc <- spTransform (nyc, CRS = CRS ("+ init = epsg: 3857")) # koncentriski gredzeni (jūdzēs) : dist.miles <- seq (10, 50, 10) # izveidojiet datu rāmi ar apļa koordinātām circ.df <- do.call (rbind, lapply (dist.miles, funkcija (n) {circ <- gBuffer (nyc .mrc, width = n * 1609.344, quadegs = 20) circ.wgs <- spTransform (circ, CRS = CRS ("+ init = epsg: 4326")) koordinātas <- lapply ([email protected], function (x) ) {x @ daudzstūri [[1]] @ coords}) data.frame (x = koordi [[1]] [, 1], y = koordi [[1]] [, 2], attālums = n)}) ) # teksta pozīcijas text.pos <- cbind (apkopot (y ~ attālums, dati = circ.df, FUN = min), x = nyc $ lon, row.names = NULL) # viltus siltuma karte set.seed (1) xy <- data.frame (x = runif (100, -74,5, -73,5), y = runif (100, 40,2, 41,2)) # get basemap ny.map <- get_map ("Ņujorka, tālummaiņa = 8) # plot ggmap (ny.map) + stat_density2d (dati = xy, kartēšana = aes (x = x, y = y, aizpildīt =… līmenis…), geom = "daudzstūris", alfa = 0,2) + skala_aizpildītgradients (zems = " zils ", augsts =" sarkans ") + geom_path (dati = circ.df, aes (x = x, y = y, grupa = attālums), alfa = 0.5) + geom_text (dati = text.pos, aes (x = x, y = y, label = paste0 (attālums, "mi")))


Skatīties video: АВТОТОВАРЫ ИЗ КИТАЯ. 50 ПОПУЛЯРНЫХ ТОВАРОВ ДЛЯ АВТОМОБИЛЯ С АЛИЭКСПРЕСС. КОНКУРС (Oktobris 2021).