rMaps choropleth พร้อม json ที่กำหนดเอง


17

ด้วย RI ต้องการที่จะสร้างแผนที่ที่มีชีวิตชีวาด้วยrMapsแพคเกจและแผนที่ที่กำหนดเอง ผมพยายามที่จะทำตามตัวอย่างของดิเอโกวัลที่อธิบายไว้ที่นี่และการใช้ข้อมูลแผนที่ที่กำหนดเองสำหรับ Datamaps

อย่างไรก็ตาม แผนที่ไม่แสดง แต่คำอธิบายสัญลักษณ์พร้อมคีย์เติมที่เหมาะสมจะปรากฏขึ้นพร้อมแถบภาพเคลื่อนไหวปี ดูเหมือนไฟล์ topoJson จะใช้ได้

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

หมายเหตุ: คำถามนี้ถูกถามในstackoverflowโดยไม่สำเร็จ ฉันไม่ทราบนโยบายใน GIS สำหรับการโพสต์คำถามจาก SO กรุณาให้คำแนะนำในความคิดเห็นหากฉันผิดเพียงคัดลอกวางคำถามเริ่มต้นของฉัน


ยินดีต้อนรับสู่เว็บไซต์ของเรา! วิธีที่ต้องการคือตั้งค่าสถานะคำถามดั้งเดิมของคุณสำหรับการย้ายข้อมูล : ซึ่งจะสร้างลิงก์อัตโนมัติระหว่างสองเวอร์ชัน แต่แจ้งให้ผู้คนทราบว่าควรโพสต์คำตอบที่นี่ถ้าเป็นไปได้
whuber

คุณเคยพบวิธีแก้ปัญหานี้หรือไม่?
RJJoling

ฉันกำลังทำอยู่ แต่ URL ของคุณเสียจริง คุณช่วยซ่อมหรือแบ่งปันไฟล์กับเราได้ไหม?
César Arquero

คำตอบ:


1

เป็นการยากที่จะบอกว่าคุณพยายามทำอะไรอย่างแน่นอนเพราะ URL ที่คุณใช้เป็นตัวอย่างจริง ๆ แล้วไม่ได้แสดงอะไร เช่นเดียวกับ URL ข้อมูลของคุณ ป้อนคำอธิบายรูปภาพที่นี่

อย่างไรก็ตามที่นี่คุณมีรหัสที่เรียบง่าย (แก้ไขการลงทะเบียนเล็กน้อยที่คุณแสดงโดยใช้ head ()) เพื่อกำจัดคำถามที่ยังไม่ได้ตอบ

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

ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.