2016-12-22 2 views
1

У меня довольно простой пространственный объект, состоящий из нескольких линий. Я могу построить его по-разному без проблем: QGIS, mapshaper.org. Даже стандартная R plot() функция:R Листовка: линии отсутствуют при построении полилиний

This plot is OK

Но когда я сюжет его leaflet(), некоторые сегменты таинственно исчезает, оставляя отключенные линии позади:

enter image description here

Воспроизводимого пример. ПРИМЕЧАНИЕ. Для удобства я использую исходный файл GeoJSON. Я также попытался сохранить строки в качестве шейп-файла ESRI с таким же эффектом: данные строятся ОК с QGIS или plot() и т. Д., Но не с leaflet().

library(leaflet) 
library(rgdal) 

download.file("https://www.dropbox.com/s/nij2oa2rp7ijaaj/commuter_rail.geojson?dl=1", 
          method = "auto", mode = "wb", destfile = "commuter_rail.json") 
commuterLines <- readOGR("commuter_rail.json", 
         "OGRGeoJSON") 

# Straight R Plot - Looks good 
plot(commuterLines) 

# Plot using leaflet - Some lines are missing! 

leaflet() %>% addPolylines(data = commuterLines) 

UPDATE:

Вот воспроизводимый пример работает как блестящие приложения, размещенных на shinyapps.io, и показывая странное поведение листовки: https://havb.shinyapps.io/leaflet_example/

+1

загрузка json не работает для меня. Вы пробовали 'readLines (" foo.json ")'? https://rstudio.github.io/leaflet/json.html – maRtin

+0

@maRtin, oops, исправлено сейчас. Чтение json не является проблемой, я получаю тот же самый (странный) результат, если я прочитал данные в формате шейп-файла ESRI. Для удобства я просто использовал json-файл в этом примере. Если это полезно, вот те же данные, что и шейп-файл: https://www.dropbox.com/s/4yq7vh4w43q3suy/MBTA.zip?dl=1 – HAVB

ответ

2

UPDATE: проблема, кажется, ошибка в более старой версии пакета листовка, доступная из CRAN. Установка последней версии разработки от Github устраняет проблему.

не хватает респ комментировать, но я попробовал ваш код и он работал для меня:

enter image description here

Возможно, что-то делать с вашей локальной конфигурации? Вы пытались переустановить пакет листовок?

+0

Это действительно странно. Я переустановил листок и обновил R и каждый пакет, на всякий случай. Я все еще получаю сломанную карту с лифтом. Я даже загрузил код в shinyapps, и ... тот же (плохой) результат! См. [Здесь] (https://havb.shinyapps.io/leaflet_example/) – HAVB

+0

Я попытался снова воспроизвести ошибку, и она все еще работала для меня. Вы знаете, какие геометрии из json-файла не отображаются? Возможно, в этих строках json-файла есть ошибка? Я с удовольствием пришлю вам результаты работы с моими «communterLines» SpatialLinesDataFrame. – Jeff

+0

Я уверен, что в файле 'json' нет ошибки, по двум причинам: я получаю ту же самую ошибку при построении данных как« шейп-файл ESRI »; и я могу построить файл 'json' просто отлично, используя' QGIS' или 'CARTO'. 'leaflet' - единственная константа для неправильного сюжета. На самом деле, я нашел его проблемой при использовании 'shapefile'. Я просто преобразовал данные в 'json', потому что это также вызывает ошибку и было легче поделиться. Может быть, мы используем разные версии буклета? Шахта 1.0.1. И я с радостью возьму ваш пространственный DataFrame! – HAVB

Смежные вопросы