rMaps choropleth với json tùy chỉnh


17

Với RI muốn tạo một bản đồ choropleth hoạt hình với rMapsgói và bản đồ tùy chỉnh. Tôi đã cố gắng làm theo ví dụ của Diego Valle được mô tả ở đây và sử dụng thông tin bản đồ tùy chỉnh cho Datamaps .

Tuy nhiên, bản đồ không hiển thị . Nhưng, huyền thoại với phím điền thích hợp xuất hiện cùng với thanh hoạt hình năm. Các tập tin topoJson có vẻ là tốt.

library(rCharts);library(rMaps);library(rgdal)
map = readOGR("https://raw.githubusercontent.com/gupierre/GHA_vol/master/Data/GHA_adm/GHA_adm1.topo.json", layer="admin_1",stringsAsFactors=F)
#Data:

SDLOG<-read.table("https://raw.githubusercontent.com/gupierre/GHA_vol/master/Data/sdlog.csv", header=T,stringsAsFactors=F, sep =",")
head(SDLOG)
 year          name      sdlog  type
>1 2004 Greater Accra 0.20030687 urban
>2 2005 Greater Accra 0.15322712 urban
>3 2006 Greater Accra 0.10782677 urban


#Map:

library(rCharts);library(rMaps)
d1 <- ichoropleth(sdlog ~ name, data = SDLOG[SDLOG$type=="rural",], ncuts = 7, pal = 'YlOrRd', animate = 'year',  map = 'admin_1')
d1$set(
  geographyConfig = list(
    dataUrl = "https://raw.githubusercontent.com/gupierre/GHA_vol/master/Data/GHA_adm/GHA_adm1.topo.json"
  ),
 scope = 'admin_1',
  setProjection = '#! function( element, options ) {
  var projection, path;
  projection = d3.geo.mercator()
  .center([8, -1]).scale(element.offsetWidth)
  .translate([element.offsetWidth / 2, element.offsetHeight / 2]);

  path = d3.geo.path().projection( projection );
  return {path: path, projection: projection};
  } !#'
)
d1

Lưu ý: câu hỏi này đã được hỏi trên stackoverflow mà không thành công. Tôi không biết chính sách về GIS để đăng câu hỏi từ SO. Xin vui lòng tư vấn trong các ý kiến ​​nếu tôi sai chỉ đơn giản là sao chép dán câu hỏi ban đầu của tôi.


Chào mừng đến với trang web của chúng tôi! Phương pháp ưa thích là gắn cờ câu hỏi ban đầu của bạn để di chuyển : điều đó sẽ tạo liên kết tự động giữa hai phiên bản nhưng thông báo cho mọi người rằng câu trả lời sẽ được đăng ở đây nếu có thể.
whuber

Bạn đã bao giờ tìm thấy một giải pháp cho điều này?
RJJoling

Tôi đang làm việc với nó nhưng url của bạn thực sự bị hỏng. Bạn có thể sửa chữa chúng hoặc chia sẻ các tập tin của bạn với chúng tôi?
César Arquero

Câu trả lời:


1

Thật khó để nói chính xác những gì bạn đang cố gắng làm vì url bạn đang sử dụng làm ví dụ thực sự không hiển thị một điều. Tương tự với url dữ liệu của bạn. nhập mô tả hình ảnh ở đây

Dù sao, ở đây bạn có một mã đơn giản (sửa đổi một chút một vài thanh ghi mà bạn đang hiển thị bằng cách sử dụng head ()) để thoát khỏi câu hỏi chưa được trả lời này.

library(rMaps)
library(plyr)

#new path to csv
SDLOG <- read.table("csv.csv", header=T, stringsAsFactors=F, sep =",")
SDLOG <- mutate(SDLOG, state = c("UT", "NE", "AL")) #add place for plotting
head(SDLOG)
  year          name     sdlog  type state
1 2004 Greater Accra 0.2003069 urban    UT
2 2005 Greater Accra 0.1532271 urban    NE
3 2006 Greater Accra 0.1078268 urban    AL
4 2004 Greater Accra 0.1555555 urban    UT
5 2007 Greater Accra 0.3000000 urban    NE
6 2005 Greater Accra 0.2500000 urban    AL

#Map:
d1 <- ichoropleth(sdlog ~ state,
                  data = SDLOG[SDLOG$type=="urban",],
                  ncuts = 7,
                  pal = 'YlOrRd',
                  animate = 'year')

d1

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.