জিএস্প্লিফাইফ দ্বারা সরলীকৃত স্প্যাটালপোলিগন সহ রাইটওজিআর


12

একটি gSimplifyশেফফিলের জ্যামিতিগুলি সরল করতে আমি (rgeos প্যাকেজ) ব্যবহার করছি । ফানসিওন ভাল কাজ করে তবে এখন আমি নতুন শেফফাইলে আউটপুট লিখতে পারি না। আমি কিছু উপায় চেষ্টা করেছিলাম:

writeOGR(simplyshape, file, driver="ESRI Shapefile", layer='test')

আমি পাই

অবজেক্ট অবশ্যই একটি স্পেসিয়ালপয়েন্টস ডেটা ফ্রেম, স্পটালালাইনস ডেটা ফ্রেম বা স্পেসিয়ালপলিজোন ডেটা ফ্রেম হতে হবে

এবং সাথে:

writePolyShape(simplyshape, file)

আমি পাই:

ত্রুটি: হ'ল (এক্স, "স্পটালপলিগনস ডেটা ফ্রেম") সত্য নয়

উত্তর:


8

আপনার বস্তুকে যথাযথ- Spatial*DataFrameশ্রেণীর (পয়েন্টস / লাইন / বহুভুজ) জোর করে , যেমন SpatialPolygonsব্যবহারের জন্য as(x, "SpatialPolygonsDataFrame" ):

R> l <- readWKT("LINESTRING(0 7,1 6,2 1,3 4,4 1,5 7,6 6,7 4,8 6,9 4)")
R> x1 <- gSimplify(p, tol=10)
R> class(x1)
[1] "SpatialPolygons"
attr(,"package")
[1] "sp"
R> x2 <- as(x, "SpatialPolygonsDataFrame")
R> class(x2)
[1] "SpatialPolygonsDataFrame"
attr(,"package")
[1] "sp"

5

আপনার SpatialPolygonsক্লাসটি একটি SpatialPolygonsDataFrameশ্রেণিতে রূপান্তর করা দরকার । উদাহরণ স্বরূপ:

require(rgdal)
require(rgeos)

# Read shapefile
shp = 'C:/temp/myshp.shp'
myshp = readOGR(shp, layer = basename(strsplit(shp, "\\.")[[1]])[1])

# Read shapefile attributes
df = data.frame(myshp)

# Simplify geometry using rgeos
simplified = gSimplify(myshp, tol = 1000, topologyPreserve=FALSE)

# Create a spatial polygon data frame (includes shp attributes)
spdf = SpatialPolygonsDataFrame(simplified, df)

# Write to shapefile
writeOGR(spdf, layer = 'myshp_simplified', 'C:/temp', driver="ESRI Shapefile")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.