Как получить mapmap в стиле openmap с ключом API? - PullRequest
0 голосов
/ 12 июля 2019

Я пытаюсь создать карту в R, используя библиотеку OpenStreetMap.

У меня не было проблем с использованием типов, таких как osm, stamen-toner, stamen-terrain и stamen-watercolor, например:

map <- openproj(openmap(c(63.47,10.32),c(63.37,10.54),type='osm'),proj=CRS('+init=epsg:32632'))
par(mar=c(0,0,0,0))
plot(map)

работает просто отлично:

map

Я добавлю точки над этим слоем. Однако, мой клиент хочет тип map-box, но когда я запускаю

map <- openproj(openmap(c(63.47,10.32),c(63.37,10.54),type='mapbox'),proj=CRS('+init=epsg:32632'))

Я получаю следующую ошибку:

failed loading 12/2165/1106 Server returned HTTP response code: 401 for URL: http://api.tiles.mapbox.com/v4/examples.map-zr0njcqy/12/2165/1106.png?access_token=pk.eyJ1IjoidGhlZmVsbCIsImEiOiJjaXN1anNwODEwMWlrMnRvZHBhamRrZjlqIn0.Gf8qLSpZ6yo5yfQhEutFfQ
java.lang.NullPointerException
    at edu.cens.spatial.RTileController.getTileValues(RTileController.java:109)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at RJavaTools.invokeMethod(RJavaTools.java:386)
Error in osmtile(x%%nX, y, zoom, type) : 
  could not obtain tile: 2165 1106 12

Я знаю, что мне нужен ключ API. Я создал один на сайте MapBox . Но как теперь получить карту типа map-box? Примеры приведены как

apiKey <- paste0('?access_token=','{my key}')
baseUrl <- 'https://api.mapbox.com/styles/v1/mapbox/satellite-streets-v9/tiles/256/{z}/{x}/{y}'
map <- openproj(openmap(c(63.47,10.32),c(63.37,10.54),type=paste0(baseUrl,apiKey)),proj=CRS('+init=epsg:32632'))

Я пытался заменить satellite-streets-v9 на mapbox или просто удалить этот каталог, но он не работает. Я не знаю, как добавить свой ключ API к исходной команде openmap(c(63.47,10.32),c(63.37,10.54),type='mapbox'). Я также не смог найти ничего полезного на сайте mapbox.

1 Ответ

0 голосов
/ 13 июля 2019

Мне нужно было ввести Mapbox Studio , создать стиль по умолчанию (аналогично стилю mapbox, который я желал), чтобы увидеть в окне «Обзор слоев», что их тема по умолчанию называется «Улицы Mapbox». v8" . Оттуда я догадался, что я должен использовать

https://api.mapbox.com/styles/v1/mapbox/streets-v8/tiles/256/{z}/{x}/{y}

как мой baseUrl. И это сработало!

...