[R-sig-Geo] How to objectively subset cities by population

Kent Johnson kent3737 at gmail.com
Thu Jul 27 19:13:11 CEST 2017


On Thu, Jul 27, 2017 at 10:11 AM, Thiago V. dos Santos <
thi_veloso at yahoo.com.br> wrote:

> Hi Kent,
>
> Thank you very much for the response.
>
> This is exactly the same approach I am using now, with a different radius
> formula though.
>
> It is not at all terrible, but do you see how overlapped the largest
> cities are, and how difficult it is to click on some smaller cities?
>

To my eye
  radius=~10*pmax(sqrt(Population), 100)
keeps the overlap manageable and makes the small cities a little bigger.

The advantage of leaflet vs plot is that you can easily zoom in to see the
smaller cities and click on them.

Kent


> This is why I am looking for an objective way to filter out the smallest
> cities, while at the same time keeping as much information on the map as
> possible (i.e. not leaving too many "blank" areas).
>
> Best,
>  -- Thiago V. dos Santos
>
> PhD student
> Land and Atmospheric Science
> University of Minnesota
>
>
>
> On Thursday, July 27, 2017, 7:29:44 AM CDT, Kent Johnson <
> kent3737 at gmail.com> wrote:
>
>
> Date: Thu, 27 Jul 2017 04:09:53 +0000 (UTC)
> From: "Thiago V. dos Santos" <thi_veloso at yahoo.com.br>
> To: R-sig-geo Mailing List <r-sig-geo at r-project.org>
> Subject: [R-sig-Geo] How to objectively subset cities by population
> Message-ID: <1634627903.292923. 1501128593268 at mail.yahoo.com
> <1634627903.292923.1501128593268 at mail.yahoo.com>>
> Content-Type: text/plain; charset="UTF-8"
>
> Dear all,
>
> I have temperature records of nearly 1200 locations in southern Brazil.
>
> I am writing a shiny app that will show an interactive map with the
> locations plotted as circles, where the user can click a location to see
> its temperature time series.
>
> However, if I show all the locations in the map, it will look really bad,
> too cramped.
>
>
> Have you considered using leaflet to make an interactive map? This is a
> good start:
>
> library(leaflet)
> locs <- read.csv("https://www.dropbox.com/s/ykdd8x1mlc76klt/
> locations.csv?raw=1")
>
> leaflet(locs) %>% addTiles() %>%
>   addCircles(radius=~20*sqrt(Population), label=~as.character(Geocode),
>              stroke=FALSE, fillOpacity=0.5)
>
> You can configure popups to show HTML or get Shiny events on click, for
> example clicking on a city could display the time series in a separate
> panel.
>
> Docs and many examples on the leaflet for R web site:
> https://rstudio.github.io/leaflet/
>
> Kent
>

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list