-
Notifications
You must be signed in to change notification settings - Fork 0
/
get map tiles.R
127 lines (112 loc) · 4.34 KB
/
get map tiles.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#
# get map tiles - code for downloading schools' vicinity map tiles
#
library(ggmap)
library(RColorBrewer)
# put your API_key instead of %%%%%%%%% to register the service
register_google("%%%%%%%%%")
# reading data sheets with various school locations data
lokacije=read.csv("lokacije_2020.csv",header=T,
stringsAsFactors = F,sep=";",
encoding = "UTF-8")
# if there is a correct official location, it should be in the center of the tile
niz=1:dim(lokacije)[1]
for (i in niz) {
df=data.frame(long=lokacije$g_duzina,lat=lokacije$g_sirina)[i,]
loc=as.numeric(df)
if (!any(is.na(loc))) {
mapImage <- get_map(location = loc,
color = "color",
source = "google",
maptype = "hybrid",
zoom = 17)
print(paste(i,": ",Sys.time()))
save(mapImage,file=paste(lokacije$id_lokacije[i],".RData",sep=""))
}
}
# if there is no official location, use location from the cadastre
niz=which(is.na(lokacije$g_duzina) & !is.na(lokacije$rgz_long))
for (i in niz) {
df=data.frame(long=lokacije$rgz_long,lat=lokacije$rgz_lat)[i,]
loc=as.numeric(df)
if (!any(is.na(loc))) {
mapImage <- get_map(location = loc,
color = "color",
source = "google",
maptype = "hybrid",
zoom = 17)
print(paste(i,": ",Sys.time()))
save(mapImage,file=paste(lokacije$id_lokacije[i],".RData",sep=""))
}
}
# if official location is not in the contour, use location from the cadastre
niz=which(lokacije$u_konturi==FALSE & !is.na(lokacije$rgz_long))
for (i in niz) {
df=data.frame(long=lokacije$rgz_long,lat=lokacije$rgz_lat)[i,]
loc=as.numeric(df)
if (!any(is.na(loc))) {
mapImage <- get_map(location = loc, # lon = 20.91068 , lat = 44.21075),
color = "color",
source = "google",
maptype = "hybrid",
zoom = 17)
print(paste(i,": ",Sys.time()))
save(mapImage,file=paste(lokacije$id_lokacije[i],".RData",sep=""))
}
}
# if there is no available contoure, use official location
bezkonture <- which(is.na(lokacije$u_konturi))
niz <- bezkonture
for (i in niz) {
df=data.frame(long=lokacije$g_duzina,lat=lokacije$g_sirina)[i,]
loc=as.numeric(df)
if (!any(is.na(loc))) {
mapImage <- get_map(location = loc,
color = "color",
source = "google",
maptype = "hybrid",
zoom = 17)
print(paste(i,": ",Sys.time()))
save(mapImage,file=paste(lokacije$id_lokacije[i],".RData",sep=""))
}
}
# if birh official and cadastre locations are out of contoure,
# use location based on school name and settlement
po_skolama=which(lokacije$u_konturi==FALSE & lokacije$u_konturi_rgz==0 &
!is.na(lokacije$gs_long))
for (i in po_skolama) {
df=data.frame(long=lokacije$gs_long,lat=lokacije$gs_lat)[i,]
loc=as.numeric(df)
if (!any(is.na(loc))) {
mapImage <- get_map(location = loc,
color = "color",
source = "google",
maptype = "hybrid",
zoom = 17)
print(paste(i,": ",Sys.time()))
save(mapImage,file=paste(lokacije$id_lokacije[i],".RData",sep=""))
}
}
# if everything else fails, use location based on address
po_adresama=which(lokacije$u_kutiji==FALSE & lokacije$u_konturi_gs==FALSE &
lokacije$u_konturi_ga==TRUE)
for (i in po_adresama) {
df=data.frame(long=lokacije$ga_long,lat=lokacije$ga_lat)[i,]
loc=as.numeric(df)
if (!any(is.na(loc))) {
mapImage <- get_map(location = loc,
color = "color",
source = "google",
maptype = "hybrid",
zoom = 17)
print(paste(i,": ",Sys.time()))
save(mapImage,file=paste(lokacije$id_lokacije[i],".RData",sep=""))
}
}
# check if there some tiles are missing
nedostaje=c()
for (i in niz) {
filename=paste(lokacije$X.U.FEFF.id_lokacije[i],".RData",sep="")
print(paste(i,": ",lokacije$id_lokacije[i],file.exists(filename)))
if (!file.exists(filename)) nedostaje2=c(nedostaje2, i)
}