আর-তে লন-ল্যাট থেকে সাধারণ বৈশিষ্ট্য (এসএফজি এবং এসএফসি)


20

আমি কীভাবে দীর্ঘ বৈশিষ্ট্যযুক্ত পয়েন্টগুলি সাধারণ বৈশিষ্ট্যগুলিতে (এসএফজি) রূপান্তর করতে পারি এবং তারপরে সেগুলিকে একটি সাধারণ বৈশিষ্ট্য সংগ্রহ (এসএফসি) এ রাখতে পারি?

এখানে এমন একটি এমডব্লিউই রয়েছে যা কাজ করে না তবে এটি আমার কাছে সবচেয়ে কাছের।

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),
    crs="+proj=longlat +datum=WGS84")
DT[, rowid:=1:.N]
# The following two rows do not work
DT[, place.sfg:=st_point(x=c(longitude, latitude), dim="XY"), by=rowid]
places.sfc <- st_sfc(DT[, place.sfg], crs=DT[, crs])
# This should result in five points, which it doesn't
plot(places.sfc)

আমি সাধারণ বৈশিষ্ট্যগুলি শিখতে চেষ্টা করছি (যার কারণে আমি লাইব্রেরি এসপি ব্যবহার করতে চাই না), এবং পরে এসএফসিতে st_buffer চালানো দরকার।

প্রতি পয়েন্টে কোনও এসএফজি ছাড়াই সরাসরি এসএফসি তৈরি করা আরও ভাল?

আমি ডেটা টেবিলটি গতি-কারণে (ভৌগোলিক দিকগুলি ছাড়াই বিশ্লেষণ করা হয়েছে এমন হাজার হাজার পয়েন্ট) ব্যবহার করি।

আমি মনে করি আমার এসএফজি পয়েন্টগুলির একটি এসএফসি প্রয়োজন, এবং একটি মাল্টিপোয়েন্ট-এসএফজি নয়।


: অনুরূপ প্রশ্ন তাই জিজ্ঞেস করা হয়েছিল stackoverflow.com/questions/29736577/...
andschar

উত্তর:


32

আপনি কি st_as_sf () চেষ্টা করেছেন যা বস্তুকে (এসপি, ডেটাফ্রেম, ...) একটি এসএফ অবজেক্টে রূপান্তর করে ?

library(data.table)
library(sf)
# your data (removed crs column)
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))
# st_as_sf() ######
# sf version 0.2-7
DT_sf = st_as_sf(DT, coords = c("longitude", "latitude"), 
                 crs = 4326, relation_to_geometry = "field")
# sf version 0.3-4, 0.4-0
DT_sf = st_as_sf(DT, coords = c("longitude", "latitude"), 
                 crs = 4326, agr = "constant")
plot(DT_sf)

[আপডেট] সেন্টেল দ্বারা মন্তব্য করা হিসাবে, এই প্যাকেজটির দ্রুত বিকাশ চালিয়ে যাওয়া গুরুত্বপূর্ণ হবে।


2
এই কোডটি চালানো আমাকে একটি ত্রুটি দেয়:Error in st_sf(x, ..., agr = agr) : no simple features geometry column present
সেন্টেল

2
@ চেঞ্জেল ধন্যবাদ যে এটি নির্দেশ করে। যখন আমি এই উত্তর পোস্ট করেছি (জানুয়ারী 2017) এসএফ প্যাকেজের সংস্করণটি 0.2-7 ছিল, যা সম্পর্ক ___ জ্যামিতি যুক্তি ব্যবহার করে। আমি সর্বশেষতম এসএফ (0.3%: মার্চ 2017) আপনার মন্তব্যে ত্রুটিটি পিছনে ফেলেছি তা নিশ্চিত করি । এখন যুক্তিটি অগ্রণী হতে হবে (@ জেফ্রি-ইভান্স মন্তব্য করেছেন)।
কাজুহিতো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.