R Language
त्रिविमीय विश्लेषण
खोज…
XY डेटा सेट से स्थानिक बिंदु बनाएं
जब भौगोलिक डेटा की बात आती है, तो आर डेटा हैंडलिंग, विश्लेषण और विज़ुअलाइज़ेशन के लिए एक शक्तिशाली उपकरण दिखाता है।
अक्सर, स्थानिक डेटा सारणीबद्ध रूप में एक XY समन्वित डेटा सेट के रूप में उपलब्ध है। यह उदाहरण दिखाएगा कि XY डेटा सेट से एक स्थानिक डेटा सेट कैसे बनाया जाता है।
संकुल rgdal
और sp
शक्तिशाली कार्य प्रदान करते हैं। R में स्थानिक डेटा को Spatial*DataFrame
(जहाँ *
Points
, Lines
या Polygons
) के रूप में संग्रहीत किया जा सकता है।
यह उदाहरण डेटा का उपयोग करता है जिसे OpenGeocode में डाउनलोड किया जा सकता है।
सबसे पहले, कार्यशील निर्देशिका को डाउनलोड किए गए CSV डेटा सेट के फ़ोल्डर में सेट करना होगा। इसके अलावा, पैकेज rgdal
लोड किया जाना है।
setwd("D:/GeocodeExample/")
library(rgdal)
बाद में, सीएसवी फ़ाइल भंडारण शहरों और उनके भौगोलिक निर्देशांक को data.frame
रूप में आर में लोड किया जाता है
xy <- read.csv("worldcities.csv", stringsAsFactors = FALSE)
अक्सर, यह डेटा और इसकी संरचना (जैसे कॉलम नाम, डेटा प्रकार आदि) की एक झलक पाने के लिए उपयोगी है।
head(xy)
str(xy)
इससे पता चलता है कि अक्षांश और देशांतर कॉलम को चरित्र मान के रूप में व्याख्या की जाती है, क्योंकि वे "-33.532" जैसी प्रविष्टियाँ रखते हैं। फिर भी, बाद में उपयोग किए जाने वाले फ़ंक्शन SpatialPointsDataFrame()
जो स्थानिक डेटा सेट बनाता है, को समन्वय प्रकारों का डेटा प्रकार numeric
। इस प्रकार दो स्तंभों को परिवर्तित करना होगा।
xy$latitude <- as.numeric(xy$latitude)
xy$longitude <- as.numeric(xy$longitude)
कुछ मानों को संख्यात्मक डेटा में परिवर्तित नहीं किया जा सकता है और इस प्रकार, NA
मान बनाए जाते हैं। उन्हें हटाना होगा।
xy <- xy[!is.na(xy$longitude),]
अंत में, XY डेटा सेट को एक स्थानिक डेटा सेट में परिवर्तित किया जा सकता है। इसके लिए निर्देशांक और निर्देशांक समन्वय प्रणाली (सीआरएस) के विनिर्देश की आवश्यकता होती है जिसमें निर्देशांक संग्रहीत किए जाते हैं।
xySPoints <- SpatialPointsDataFrame(coords = c(xy[,c("longitude", "latitude")]),
proj4string = CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"),
data = xy
)
मूल प्लॉट फ़ंक्शन का उपयोग आसानी से उत्पादित स्थानिक बिंदुओं को चोटी करने के लिए किया जा सकता है।
plot(xySPoints, pch = ".")
आकृति फ़ाइल आयात करना (.shp)
rgdal
ESRI आकार की फाइलें आसानी से rgdal
पैकेज से फ़ंक्शन readOGR()
का उपयोग करके आर में आयात की जा सकती हैं।
library(rgdal)
shp <- readORG(dsn = "/path/to/your/file", layer = "filename")
यह जानना महत्वपूर्ण है, कि dsn
को /
साथ समाप्त नहीं होना चाहिए और layer
फ़ाइल को समाप्त नहीं होने देती है (उदाहरण के लिए .shp
)
रेखापुंज
रैस्टरफ़ाइल्स आयात करने का एक और संभावित तरीका है raster
लाइब्रेरी और shapefile
फ़ंक्शन:
library(raster)
shp <- shapefile("path/to/your/file.shp")
ध्यान दें कि मार्ग की परिभाषा rgdal आयात विवरण से कैसे भिन्न है।
tmap
tmap
पैकेज rgdal::readORG
फ़ंक्शन के लिए एक अच्छा आवरण प्रदान करता है।
library(tmap)
sph <- read_shape("path/to/your/file.shp")