คำถามติดแท็ก r

ภาษาคอมพิวเตอร์เชิงสถิติและสภาพแวดล้อมของซอฟต์แวร์

1
Raster legend ใน R: วิธีการเติมสีค่าเฉพาะ?
ฉันมีโมเดลการยกระดับใน R r <- raster("example.dem") plot(r, col = topo.colors(20)) ค่าบางค่าอยู่ต่ำกว่าระดับน้ำทะเล (0) และฉันต้องการให้ค่าเหล่านั้นแสดงเป็นสีแดง ฉันจะกำหนดช่วงเฉพาะให้กับสีเฉพาะในพล็อต () ได้อย่างไร
30 raster  r  legend  color 

5
เพิ่มความเร็วของการครอบตัดหน้ากากและแยกแรสเตอร์โดยรูปหลายเหลี่ยมใน R
ฉันกำลังแยกพื้นที่และร้อยละของการใช้ที่ดินประเภทต่าง ๆ จากแรสเตอร์ตามขอบเขตหลายเหลี่ยมหลายพัน ฉันพบว่าฟังก์ชั่นการดึงข้อมูลทำงานได้เร็วขึ้นมากถ้าฉันวนซ้ำรูปหลายเหลี่ยมและครอบตัดแต่ละอันจากนั้นปิดบังแรสเตอร์ให้มีขนาดเท่ากับรูปหลายเหลี่ยมที่เฉพาะเจาะจง อย่างไรก็ตามมันค่อนข้างช้าและฉันสงสัยว่าใครมีคำแนะนำในการปรับปรุงประสิทธิภาพและความเร็วของรหัสของฉันหรือไม่ สิ่งเดียวที่ฉันได้พบที่เกี่ยวข้องกับการนี้คือการตอบสนองนี้โดยโรเจอร์ Bivand ที่แนะนำให้ใช้GDAL.open()และGDAL.close()เช่นเดียวกับและgetRasterTable() getRasterData()ฉันดูสิ่งเหล่านี้ แต่เคยมีปัญหากับ gdal ในอดีตและไม่รู้จักดีพอที่จะรู้วิธีนำไปใช้ ตัวอย่างที่ทำซ้ำได้: library(maptools) ## For wrld_simpl library(raster) ## Example SpatialPolygonsDataFrame data(wrld_simpl) #polygon of world countries bound <- wrld_simpl[1:25,] #name it this to subset to 25 countries and because my loop is set up with that variable ## Example RasterLayer …

2
การเข้าร่วมรูปหลายเหลี่ยมใน R
ฉันสงสัยว่าจะเข้าร่วมรูปหลายเหลี่ยมเชิงพื้นที่โดยใช้รหัส R ได้อย่างไร ฉันทำงานกับข้อมูลสำมะโนประชากรที่บางพื้นที่เปลี่ยนแปลงตลอดเวลาและฉันต้องการเข้าร่วมรูปหลายเหลี่ยมและข้อมูลที่เกี่ยวข้องและเพียงรายงานเกี่ยวกับพื้นที่ที่เข้าร่วม ฉันกำลังรักษารายการรูปหลายเหลี่ยมที่มีการเปลี่ยนแปลงสำมะโนประชากรเป็นสำมะโนประชากรและฉันวางแผนที่จะรวม ฉันต้องการใช้รายชื่อพื้นที่นี้เป็นรายการค้นหาเพื่อใช้กับข้อมูลการสำรวจสำมะโนประชากรจากหลายปี ฉันสงสัยว่าฟังก์ชัน R ใดที่จะใช้เพื่อผสานรูปหลายเหลี่ยมที่เลือกไว้และข้อมูลที่เกี่ยวข้อง ฉันได้ทำมัน แต่ก็สับสนกับผลลัพธ์

2
กำลังอ่านคลาสคุณลักษณะในฐานข้อมูลไฟล์โดยใช้ R?
ฉันมีคุณสมบัติที่มีอยู่ในฐานข้อมูลทางภูมิศาสตร์ที่มีขนาดใหญ่กว่า 2GB เป็นรูปร่างไฟล์ที่ส่งออก ฉันต้องการเรียกใช้ฟังก์ชันแยกใน R เพื่อแอตทริบิวต์รูปหลายเหลี่ยมด้วยข้อมูลจากไฟล์แรสเตอร์ การส่งออกคุณสมบัติเป็นตารางไม่ใช่วิธีแก้ปัญหา ฉันจะอ่านคลาสคุณลักษณะที่อยู่ในฐานข้อมูลไฟล์ Esri ได้อย่างไร

9
ทำงานกับข้อมูล PostGIS ใน R หรือไม่
ฉันทำงานกับ R เกือบตลอดเวลาและตอนนี้ฉันใช้มันเพื่อการขุดข้อมูลเชิงพื้นที่ ฉันมีฐานข้อมูล PostGIS ที่มีข้อมูล GIS (ชัดเจน) หากฉันต้องการทำการวิเคราะห์เชิงพื้นที่เชิงสถิติและพล็อตแผนที่เป็นวิธีที่ดีกว่าในการ: ส่งออกตารางเป็นรูปร่างหรือ; ทำงานโดยตรงกับฐานข้อมูลหรือไม่
27 postgis  postgresql  r 

2
หาเซนทรอยด์ของกลุ่มจุด
ในขณะที่ค้นหาเว็บคำตอบสำหรับการค้นหาเซนทรอยด์ของรูปหลายเหลี่ยมจะเกิดขึ้นค่อนข้างบ่อย สิ่งที่ฉันสนใจคือการหาเซนทรอยด์ของกลุ่มจุด ค่าเฉลี่ยถ่วงน้ำหนักทุกประเภท ฉันจะขอบคุณถ้ามีคนให้พอยน์เตอร์รหัสหลอก (หรือดีกว่าแพ็คเกจ R ที่แก้ปัญหานี้แล้ว) หรือลิงก์ว่าปัญหานี้สามารถแก้ไขได้อย่างไร แก้ไข การบรรจบกันได้ดำเนินการแล้ว (อีกครั้ง) iant ได้แนะนำวิธีในการหาค่าพิกัดโดยเฉลี่ยและใช้มันสำหรับเซนทรอยด์ ตรงนี้เป็นสิ่งที่ข้ามใจของฉันเมื่อฉันเห็นภาพขวาบนของหน้าเว็บนี้ นี่คือรหัส R ที่ใช้ง่ายในการวาดรูปต่อไปนี้ซึ่งแสดงให้เห็นถึงสิ่งนี้ (×คือ centroid): xcor <- rchisq(10, 3, 2) ycor <- runif(10, min = 1, max = 100) mx <- mean(xcor) my <- mean(ycor) plot(xcor, ycor, pch = 1) points(mx, my, pch = 3) แก้ไข …
27 r  centroids 

2
R แปลงวัตถุ sf กลับไปเป็น SpatialPolygonsDataFrame
ฉันจะแปลงวัตถุ sf กลับไปเป็น SpatialPolygonsDataFrame ได้อย่างไร ฉันใช้ R 3.4.0 และ sf เวอร์ชั่น 0.4.1 เอกสารเอสเอฟระบุว่าas_Spatialฟังก์ชั่น แต่ตอนนี้ไม่สามารถใช้ได้ในการติดตั้งของฉัน (ด้วยเหตุผลบางอย่าง)
27 r  sf 

7
ความเร็วของรูปแบบข้อมูลแรสเตอร์ต่างๆ
ฉันมีปัญหาในการหาการสนทนาหรือการเปรียบเทียบเปรียบเทียบรูปแบบไฟล์แรสเตอร์ที่แตกต่างกัน (เช่นเพื่อใช้ในการวิเคราะห์ข้อมูลใน R) ไม่มีใครเข้าใจว่าทำไมรูปแบบเฉพาะอาจเร็วขึ้นหรือช้าลง? หรือความแตกต่างควรน้อยที่สุด? โดยเฉพาะฉันสนใจว่าการแปลงแรสเตอร์ (เช่นไฟล์ GEOTIFF) เป็นรูปแบบอื่น (เช่น netCDF) นั้นคุ้มค่าสำหรับการเร่งความเร็วในการอ่าน / เขียนและการดำเนินการอื่น ๆ

1
ฉันจะเปลี่ยนสีเติมรูปหลายเหลี่ยมและสีเส้นขอบสำหรับวัตถุ SpatialPolygons ได้อย่างไร
ฉันมี SpatialPolygons หรือ SpatialPolygonsDataFrames ซึ่งฉันต้องการลงจุด ฉันจะเปลี่ยนสีโดยใช้ระบบการลงจุดทั้งสามใน R (กราฟิกพื้นฐาน, ขัดแตะกราฟิกและ ggplot2) ได้อย่างไร ข้อมูลตัวอย่าง: library(sp) Srs1 = Polygons(list(Polygon(cbind(c(2,4,4,1,2),c(2,3,5,4,2)))), "s1") Srs2 = Polygons(list(Polygon(cbind(c(5,4,2,5),c(2,3,2,2)))), "s2") SpDF <- SpatialPolygonsDataFrame( SpatialPolygons(list(Srs1,Srs2)), data.frame( z=1:2, row.names=c("s1","s2") ) ) spplot(SpDF, zcol="z")
25 polygon  r 

1
รับ TopologyException: Input geom 1 ไม่ถูกต้องซึ่งเกิดจากการตัดกันด้วยตัวเองใน R?
ข้อผิดพลาด 'TopologyException: Input geom 1 ไม่ถูกต้อง' ซึ่งเกิดขึ้นจากรูปหลายเหลี่ยมที่ไม่ถูกต้องซึ่งมีการกล่าวถึงกันอย่างกว้างขวาง อย่างไรก็ตามฉันไม่พบวิธีแก้ไขปัญหาที่สะดวกบนเว็บที่อาศัยการทำงานของ R เพียงอย่างเดียว ยกตัวอย่างเช่นฉันมีการจัดการเพื่อสร้างวัตถุ 'SpatialPolygons จากการส่งออกของmap("state", ...)ต่อไปนี้เป็นคำตอบที่ดี Josh โอไบรอันที่นี่ library(maps) library(maptools) map_states = map("state", fill = TRUE, plot = FALSE) IDs = sapply(strsplit(map_states$names, ":"), "[[", 1) spydf_states = map2SpatialPolygons(map_states, IDs = IDs, proj4string = CRS("+init=epsg:4326")) plot(spydf_states) ปัญหาของชุดข้อมูลที่ใช้กันอย่างแพร่หลายในขณะนี้คือการตัดกันด้วยตนเองเกิดขึ้น ณ จุดที่ระบุด้านล่าง rgeos::gIsValid(spydf_states) [1] FALSE Warning …

3
วิธีเพิ่มความเร็วการพล็อตรูปหลายเหลี่ยมใน R
ฉันต้องการพล็อตเส้นขอบประเทศของทวีปอเมริกาเหนือผ่านภาพแรสเตอร์ที่แสดงถึงตัวแปรบางส่วนจากนั้นจึงวางทับรูปทรงที่ด้านบนของพล็อตโดยใช้อาร์ฉันประสบความสำเร็จในการทำเช่นนี้โดยใช้กราฟิกพื้นฐานและขัดแตะ ช้าเกินไป! ฉันยังไม่ได้ทำใน ggplot2 แต่ฉันสงสัยว่ามันจะดีขึ้นในแง่ของความเร็ว ฉันมีข้อมูลในไฟล์ netcdf ที่สร้างจากไฟล์ grib ตอนนี้ฉันดาวน์โหลดเส้นขอบประเทศสำหรับแคนาดาสหรัฐอเมริกาและเม็กซิโกซึ่งมีอยู่ในไฟล์RDataจากGADMซึ่งอ่านเป็น R เป็นวัตถุ SpatialPolygonsDataFrame นี่คือรหัสบางส่วน: # Load packages library(raster) #library(ncdf) # If you cannot install ncdf4 library(ncdf4) # Read in the file, get the 13th layer # fn <- 'path_to_file' r <- raster(fn, band=13) # Set the projection and extent p4 …
24 polygon  r 

3
ทำการลดสัญญาณรบกวนแบบแรสเตอร์และการปรับขอบให้เรียบ?
ฉันมีภาพแรสเตอร์เช่นนี้ ฉันต้องการลบจุดรบกวนที่แยกได้และทำให้ขอบเรียบ (พูดจุดเดียวสีขาวและฉันต้องการให้ขอบของเอนทิตีดูราบรื่น) ฉันจะทำสิ่งนี้ใน ArcGIS หรือใน R ได้อย่างไร ขนาดเซลล์คือ 30 * 30

2
ใช้ R เพื่อคำนวณพื้นที่ของรูปหลายเหลี่ยมหลายรูปบนแผนที่ที่ตัดกันกับรูปหลายเหลี่ยมที่ซ้อนทับอื่น
ฉันมีไฟล์รูปร่างดาวน์โหลดจากการสำรวจอาวุธยุทโธปกรณ์ที่ให้ขอบเขตการเลือกตั้งวอร์ด (แผนก) สำหรับมณฑลของสหราชอาณาจักร ฉันใช้ R เพื่อโหลด shapefile สำเร็จและวางแผนแผนที่ต่างๆโดยใช้ggplot2ตามที่อธิบายไว้ในคำถามนี้ มันทำงานได้ค่อนข้างดี ตอนนี้ฉันต้องการสร้างรูปหลายเหลี่ยมใหม่ของรูปร่างโดยพลการเพิ่มลงในแผนที่จากนั้นคำนวณประชากรที่อาศัยอยู่ในพื้นที่ที่อยู่ภายใต้รูปร่างซึ่งอาจครอบคลุมหรือบางส่วนครอบคลุมหลายส่วน ฉันมีประชากรสำหรับแต่ละแผนกการเลือกตั้งและฉันสามารถตั้งสมมติฐานง่าย ๆ ว่าประชากรในวอร์ดแต่ละแห่งมีการกระจายอย่างเท่าเทียมกัน ที่แนะนำขั้นตอนต่อไปนี้ 1) วางรูปร่างใหม่บนแผนที่ซึ่งครอบคลุมบางส่วนของหน่วยงานการเลือกตั้ง สมมติว่ามี 3 แผนกเพื่อการโต้แย้ง มันจะมีลักษณะเช่นนี้ [แก้ไข: ยกเว้นว่าในภาพด้านล่างรูปร่างคร่อม 5 ส่วนมากกว่า 3] 2) คำนวณเปอร์เซ็นต์ของพื้นที่ของแต่ละส่วนทั้ง 3 ที่ตัดกับรูปหลายเหลี่ยมที่ซ้อนทับ 3) การประมาณประชากรโดยการหาเปอร์เซ็นต์ของพื้นที่ของแต่ละส่วนที่ถูกปกคลุมด้วยรูปร่างที่ซ้อนทับและคูณด้วยประชากรของแต่ละส่วน ฉันคิดว่าฉันสามารถหาวิธีสร้างรูปหลายเหลี่ยมและวางทับบนแผนที่เช่นเพิ่มลงใน data frame ที่มีอยู่โดยใช้คำตอบที่เป็นประโยชน์สำหรับคำถามนี้และคำถามอื่น ๆ สิ่งที่ฉันเป็นกังวลคืองานที่ต้องทำเปอร์เซ็นต์ของแต่ละส่วนที่ถูกปกคลุมด้วยรูปร่างที่ซ้อนทับ latและlongคอลัมน์ในกรอบข้อมูลที่เป็นคนแปลกตัวเลขอาวุธยุทโธปกรณ์สำรวจ OpenData (Eastings และ Northings หรือบางอย่าง) ดังนั้นคำถามแรกของฉันคือฉันจะไปหาพื้นที่ (หรือส่วนย่อยของพื้นที่) ของรูปหลายเหลี่ยมที่กำหนดขอบเขตของการเลือกตั้งโดยใช้ข้อมูลนี้ได้อย่างไร เนื่องจากแม้แต่เซ็ตย่อยที่มีความหมายของเฟรมข้อมูลนี้ก็มีขนาดใหญ่ฉันจึงเคยdputสร้างไฟล์ขนาด 500k ( ซึ่งสามารถคัดลอกและวางหรือดาวน์โหลดได้จากที่นี่ …
22 shapefile  r 

4
วิธีที่เหมาะสมในการโยง SpatialPolygonsDataFrames ด้วยรหัสรูปหลายเหลี่ยมเหมือนกันหรือไม่
อะไรคือสำนวน R ที่เหมาะสมสำหรับการผูก SPDF เข้าด้วยกันเมื่อ ID ทับซ้อนกัน โปรดทราบว่าที่นี่ (ตามปกติแล้ว) ID นั้นไม่มีความหมายโดยทั่วไปดังนั้นมันค่อนข้างน่ารำคาญที่ฉันไม่สามารถทำให้ rbind เพิกเฉยได้ .... library(sp) library(UScensus2000) library(UScensus2000tract) data(state) # for state names states <- gsub( " ", "_", tolower(state.name) ) datanames <- paste(states,"tract", sep=".") data( list=datanames ) lst <- lapply(datanames,get) nation <- do.call( rbind, lst ) Error in validObject(res) : …
22 polygon  r 

2
สร้างรูปหลายเหลี่ยมเชิงพื้นที่ทันทีโดยไม่ต้องใช้ shapefile ใน R
ดังนั้นวิธีปกติที่เราอ่าน shapefile ใน R คือผ่านแพ็คเกจ maptools เช่นนี้ sfdata <- readShapeSpatial("/path/to/my/shapefile.shp", proj4string=CRS("+proj=longlat")) อย่างไรก็ตามฉันมีกรณีการใช้งานโดยที่ฉันไม่มี shapefile.shp แต่ฉันมีชุดของรูปหลายเหลี่ยมพิกัด 16.484375 59.736328125,17.4951171875 55.1220703125,24.74609375 55.0341796875,22.5927734375 61.142578125,16.484375 59.736328125 และการฉายที่สอดคล้องกัน coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 ฉันจะ "สร้างอินสแตนซ์" sfdata (ซึ่งจะเป็น "รูปหลายเหลี่ยมวัตถุ") โดยตรงจากข้อมูลนี้ได้อย่างไร (โดยไม่ต้องไปในทางอ้อมของการสร้าง Shapefile ด้วยข้อมูลเหล่านี้แล้วอ่านจาก Shapefile ที่สร้างขึ้นใหม่)
22 shapefile  polygon  r 

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