আমি কীভাবে ডেটাফ্রেম থেকে একটি স্পেশাললাইনস ডেটা ফ্রেম তৈরি করব?


9

আমি আর-তে একটি ডেটা ফ্রেম তৈরি করেছি। ফলস্বরূপ আমি স্প্যাটিয়াললাইনস ডেটা ফ্রেম পেতে চাই তাই আমি বুঝতে পারি যে আমাকে ডেটা.ফ্রেমকে লাইনে, রেখাগুলিকে স্প্যাটিয়াললাইনস এবং স্পেশালালাইনগুলিকে স্প্যাটিয়াললাইনস ডেটা ফ্রেমে রূপান্তর করতে হবে। আমি এটা করেছি

filedata.frame=data.frame(matrix(file),ncol=14, byrow=T))
file=Lines(filedata.frame)

আমি ডেটা পেয়েছি ra ফ্রেম আমি চাই তবে লাইনগুলি না। আমি নিশ্চিত যে মৌলিক তবে কেন আমি লাইন পেতে পারি না?


আপনার ডেটাফ্রেমটি কেমন দেখাচ্ছে? স্থানাঙ্কগুলি কীভাবে সংরক্ষণ করা হয়? আপনি পরীক্ষা করেছেন ?Lines? লাইনগুলির ইনপুট হিসাবে দুটি পরামিতি প্রয়োজনLines(slinelist, ID)
আইরিস

সুতরাং প্রতিটি লাইনের শুরুর পয়েন্ট এবং চূড়ান্ত পয়েন্ট আছে। আপনি লাইনগুলি সম্পর্কে ঠিক বলেছেন, আমি এটি করেছি: (আমি সেক_আলং (লাইনগুলিতে) {লাইনগুলির জন্য [[i]] <- লাইন (তালিকা (লাইন (rbind (সি (ফাইল $ x_f [i], ফাইল $ y_f [ i]), সি (ফাইলড $ x_tr [i], ফাইলড $ y_tr [i]))), as.character (i))
g

উত্তর:


11

এখানে থেকে একটি বর্ধিত উদাহরণ SP চিত্র প্রমান করে যে একটি সাধারণ 'data.frame' অবজেক্ট থেকে 'SpatialLinesDataFrame' তৈরি করার পদ্ধতি। আমি একক 'স্পটিয়ালালাইনস' এর দৈর্ঘ্য gLengthথেকে rgeos এর মাধ্যমে তৈরি কিছু নমুনা ডেটা ব্যবহার করি । নোট করুন যে rownamesতৈরি করা ডেটাসেটটি SpatialLinesDataFrameপূর্বের সংজ্ঞায়িত লাইন আইডি (এই বিশেষ ক্ষেত্রে "a" এবং "খ") এর অনুরূপ হতে হবে passed

library(sp)

## from the sp vignette:
l1 <- cbind(c(1, 2, 3), c(3, 2, 2))
l2 <- cbind(c(1, 2, 3), c(1, 1.5, 1))

Sl1 <- Line(l1)
Sl2 <- Line(l2)

S1 <- Lines(list(Sl1), ID = "a")
S2 <- Lines(list(Sl2), ID = "b")

Sl <- SpatialLines(list(S1, S2))

## sample data: line lengths
library(rgeos)
df <- data.frame(len = sapply(1:length(Sl), function(i) gLength(Sl[i, ])))
rownames(df) <- sapply(1:length(Sl), function(i) Sl@lines[[i]]@ID)


## SpatialLines to SpatialLinesDataFrame
Sldf <- SpatialLinesDataFrame(Sl, data = df)

plot(Sldf, col = c("red", "blue"))
text(labels = paste0("length = ", round(Sldf@data$len, 2)), 
     x = gCentroid(Sldf, byid = TRUE)$x,
     y = gCentroid(Sldf, byid = TRUE)$y)

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.