[R] Plotting Very Large lat-lon data in x-y axes graph

Jim Lemon drjimlemon @ending from gm@il@com
Sun Dec 9 21:46:43 CET 2018


Hi Ogbos,
Here is a slight modification of a method I use to display trip
density on a map:

oolt<-read.table(text="Lat Lon
30.1426 104.7854
30.5622 105.0837
30.0966 104.6213
29.9795 104.8430
39.2802 147.7295
30.2469 104.6543
26.4428 157.7293
29.4782 104.5590
32.3839 105.3293
26.4746 157.8411
25.1014 159.6959
25.1242 159.6558
30.1607 104.9100
31.4900 -71.8919
43.3655 -74.9994
30.0811 104.8462
29.0912 -85.5138
26.6204 -80.9342
31.5462 -71.9638
26.8619 97.3844
30.2534 104.6134
29.9311 -85.3434
26.1524 159.6806
26.5112 158.0233
26.5441 158.0565
27.8901 -105.8554
30.3175 104.7135
26.4822 157.6127
30.1887 104.5986
29.5058 104.5661
26.4010 157.5749
30.2281 104.7585
31.4556 110.5619
30.1700 104.5861
26.3911 157.4776
30.6493 104.9949
30.2209 104.6629
26.0488 97.3608
30.2142 104.8023
30.1806 104.8158
25.2107 160.1690
30.6708 104.9385
30.4152 104.7002
30.2446 104.7804
29.5760 -85.1535
26.4484 92.4312
26.3914 157.4189
26.3986 157.4421
30.4903 -88.2271
30.6727 104.8768
30.2518 104.6466
41.6979 -78.4136
33.7575 72.1089
26.8333 -80.9485
25.3103 124.0978
30.1742 104.7554
30.6345 104.9739
30.2075 104.7960
30.2226 104.7517
30.5948 105.0532",
header=TRUE)
latlim<-c(20,45)
lonlim<-c(-90,160)
latbreaks<-seq(latlim[1],latlim[2],by=5)
lonbreaks<-seq(lonlim[1],lonlim[2],by=10)

mids<-function(x) {
 lenx<-length(x)
 return((x[1:(lenx-1)]+x[2:lenx])/2)
}
lonmids<-mids(lonbreaks)
latmids<-mids(latbreaks)
oolt$loncuts<-cut(oolt$Lon,lonbreaks)
oolt$latcuts<-cut(oolt$Lat,latbreaks)
counts<-table(oolt$latcuts,oolt$loncuts)
library(plotrix)
countcol<-color.scale(counts,extremes=c("blue","red"))
map("world",xlim=c(-90,160),ylim=c(20,45))
for(lon in 1:length(lonmids)) {
 for(lat in 1:length(latmids)) {
  if(counts[lat,lon] > 0)
   draw.circle(lonmids[lon],latmids[lat],radius=sqrt(counts[lat,lon]),
    border=countcol[lat,lon],col=countcol[lat,lon])
 }
}

If you have very large counts in some places you may need to adjust
the radius of the circles.

Jim
On Mon, Dec 10, 2018 at 2:50 AM Ogbos Okike <giftedlife2014 using gmail.com> wrote:
>
> Dear Contributors,
>
> I have a data of the form:
> Lat          Lon
> 30.1426 104.7854
> 30.5622 105.0837
> 30.0966 104.6213
> 29.9795 104.8430
> 39.2802 147.7295
> 30.2469 104.6543
> 26.4428 157.7293
> 29.4782 104.5590
> 32.3839 105.3293
> 26.4746 157.8411
> 25.1014 159.6959
> 25.1242 159.6558
> 30.1607 104.9100
> 31.4900 -71.8919
> 43.3655 -74.9994
> 30.0811 104.8462
> 29.0912 -85.5138
> 26.6204 -80.9342
> 31.5462 -71.9638
> 26.8619 97.3844
> 30.2534 104.6134
> 29.9311 -85.3434
> 26.1524 159.6806
> 26.5112 158.0233
> 26.5441 158.0565
> 27.8901 -105.8554
> 30.3175 104.7135
> 26.4822 157.6127
> 30.1887 104.5986
> 29.5058 104.5661
> 26.4010 157.5749
> 30.2281 104.7585
> 31.4556 110.5619
> 30.1700 104.5861
> 26.3911 157.4776
> 30.6493 104.9949
> 30.2209 104.6629
> 26.0488 97.3608
> 30.2142 104.8023
> 30.1806 104.8158
> 25.2107 160.1690
> 30.6708 104.9385
> 30.4152 104.7002
> 30.2446 104.7804
> 29.5760 -85.1535
> 26.4484 92.4312
> 26.3914 157.4189
> 26.3986 157.4421
> 30.4903 -88.2271
> 30.6727 104.8768
> 30.2518 104.6466
> 41.6979 -78.4136
> 33.7575 72.1089
> 26.8333 -80.9485
> 25.3103 124.0978
> 30.1742 104.7554
> 30.6345 104.9739
> 30.2075 104.7960
> 30.2226 104.7517
> 30.5948 105.0532.
> The record is for lightning flashes in the continental U.S. and
> surrounding waters within the latitudinal band between
> 258 and 458N.
>
> I want to display the result in x-y co-ordinate plot. However, the
> data is very large such that when plotted, everything just appeared
> blurred.
>
>
> Is there a way of using color codes to  indicate the regions of higher
> or lower flash densities?
>
> I can attach the plot I generated but I am not sure if the moderator
> will allow it to go with this.
>
> I will send it in a separate email if required.
>
> Thank you so much for sparing your time.
>
> Best
> Ogbos
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list