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

3
แยก data.frame จากวัตถุคุณสมบัติอย่างง่ายใน R
มี sf-native (เช่น "ถูกต้อง") วิธีการแยกทุกอย่างยกเว้นคอลัมน์รูปทรงเรขาคณิตจากวัตถุคุณสมบัติที่เรียบง่าย? วิธีนี้ใช้ได้ผล df <- dplyr::select(as.data.frame(sf), -geometry) แต่select( , -geometry)ขั้นตอนนั้นไม่จำเป็น นอกจากนี้ยังไม่ได้ลบคุณลักษณะทางเรขาคณิต
43 r  sf 

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

1
Lon-Lat to คุณสมบัติง่าย ๆ (sfg และ sfc) ใน R
ฉันจะแปลงคะแนน lon-lat ให้เป็นฟีเจอร์ง่าย ๆ (sfg) จากนั้นวางมันลงในคอลเล็กชันฟีเจอร์ที่เรียบง่าย (sfc) ได้อย่างไร นี่คือ MWE ที่ใช้งานไม่ได้ แต่อยู่ใกล้ฉันมากที่สุด library(data.table) library(sf) # The DT data.table is the data I have (but 10,000s of rows, each row is a point) DT <- data.table( place=c("Finland", "Canada", "Tanzania", "Bolivia", "France"), longitude=c(27.472918, -90.476303, 34.679950, -65.691146, 4.533465), latitude=c(63.293001, 54.239631, -2.855123, -13.795272, 48.603949), …
21 r  sf 

4
ครอบตัดคุณลักษณะวัตถุอย่างง่ายใน R
มีฟังก์ชั่นการครอบตัดวัตถุแผนที่ sf คล้ายกับที่maptools::pruneMap(lines, xlim= c(4, 10), ylim= c(10, 15))ใช้สำหรับ SpatialPolygon หรือ SpatialLine หรือไม่ ฉันกำลังพิจารณาst_intersection()แต่อาจมีวิธีที่เหมาะสม
20 r  clip  sf 

1
เทียบเท่ากับจุดแพคเกจของ sp ในรูปหลายเหลี่ยม / overing โดยใช้ sf
ฉันกำลังโยกย้ายรหัสจาก sp แพ็คเกจไปยังแพ็คเกจ sf ที่ใหม่กว่า รหัสก่อนหน้าของฉันฉันมีรูปหลายเหลี่ยม SpatialDataFrame (censimentoMap) และ SpatialPointDataFrame (indirizzi.sp) และฉันได้รับรูปหลายเหลี่ยมเซลล์ id ("Cell110") สำหรับแต่ละจุดที่วางไว้ภายในด้วยคำแนะนำด้านล่าง: points.data <- over(indirizzi.sp, censimentoMap[,"Cell110"]) ที่จริงฉันสร้างวัตถุ sf สองอัน: shape_sf <- st_read(dsn = shape_dsn) shape_sf <- st_transform(x=shape_sf, crs=crs_string) และ indirizzi_sf = st_as_sf(df, coords = c("lng", "lat"), crs = crs_string) และฉันกำลังมองหาเอสเอฟเทียบเท่าคำสั่งข้างต้น ... ids<-sapply(st_intersects(x=indirizzi_sf,y=shshape_sfpeCrif), function(z) if (length(z)==0) NA_integer_ else …
16 r  overlay  sp  sf 

1
ลดความซับซ้อนของรูปหลายเหลี่ยมของวัตถุ sf
ฉันจะลดความซับซ้อนของsfรูปหลายเหลี่ยมได้อย่างไรโดยไม่แนะนำช่องว่างและตัวเอียง ด้วย Shapefile เช่นฉันจะใช้rmapshaper::ms_simplify(): library("pryr") library("rgdal") library("rmapshaper") download.file("https://borders.ukdataservice.ac.uk/ukborders/easy_download/prebuilt/shape/England_gor_2011.zip", destfile = "regions.zip") unzip("regions.zip") regions <- readOGR(".", "england_gor_2011") object_size(regions) # ~13MB regions <- ms_simplify(regions) object_size(regions) # < 1MB ฉันได้ลองแล้วsf::st_cast()ซึ่งจากหน้าคน, รัฐ: ส่งเรขาคณิตไปยังประเภทอื่น: ลดความซับซ้อนหรือโยนอย่างชัดเจน และ: เพื่อโต้แย้ง: ตัวละคร; ประเภทเป้าหมายหากขาดหายไปจะพยายามลดความซับซ้อน เมื่อ x เป็นชนิด sfg (เช่นเรขาคณิตเดียว) จากนั้นจำเป็นต้องระบุ เมื่อฉันจากtoไปเพราะขาดสิ่งนี้มันก็ไม่ได้ผลตามที่คาดหวังไว้ (ฉันรู้ว่ามันดีเกินกว่าจะเป็นจริงได้!): library("sf") regions <- sf::read_sf("england_gor_2011.shp") object_size(regions) # ~13MB regions …
14 r  simplify  sf 

2
วิธีการรวมวัตถุ sfc จากแพ็คเกจ R
เมื่อใช้แพ็คเกจ R sfจะรวมsfcวัตถุได้อย่างไร ตัวอย่างเช่นให้รหัสต่อไปนี้หนึ่งจะสร้างsfcวัตถุเดียวsfc12ที่มีรูปทรงเรขาคณิตจากทั้งสองsfc1และsfc2? ( length(sfc12)ควรเป็น 2) library(sf) pt1 = st_point(c(0,1)) pt2 = st_point(c(1,1)) sfc1 = st_sfc(pt1) # An sfc object sfc2 = st_sfc(pt2) # Another sfc object # sfc12 = ? วิธีการบางอย่างที่ไม่ทำงาน: sf_sfc(sfc1, sfc2) # Error in vapply(lst, class, rep("", 3)) : values must be length 3, # but …
12 r  sf 

1
เขียนหลายเลเยอร์ไปยัง GeoPackage โดยใช้ writeOGR () ใน R?
ฉันพยายามเขียนหลายเลเยอร์ไปยัง GeoPackage เดียวกันใน R แต่ฉันได้รับข้อผิดพลาดCreation of output file failed. ฉันพยายามค้นหาเอกสารการอ่านและเขียนไปยังไฟล์. gpkg ด้วย RGDAL เช่นเพื่อค้นหาว่าwriteOGR()รองรับหลายเลเยอร์จริงหรือไม่ เป็นไปได้ไหมถ้าเป็นเช่นนั้นจะทำอย่างไร? ตัวอย่างการทำงานที่น้อยที่สุด: library(sp) library(maptools) library(rgdal) data(wrld_simpl) norway <- wrld_simpl[wrld_simpl$NAME == "Norway", ] sweden <- wrld_simpl[wrld_simpl$NAME == "Sweden", ] file <- tempfile("scandinavia", fileext = c(".gpkg")) writeOGR(norway, dsn = file, layer = "norway", driver = "GPKG") writeOGR(sweden, dsn …
11 gdal  r  rgdal  geopackage  sf 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.