R में georeferenced जानकारी के साथ एक रेखापुंज बनाएँ


9

मेरे पिछले सवाल का जिक्र करते हुए , मैं कैसे "जियोकोड" / कन्वर्ट करता हूं - आर - एक उत्पन्न रेखापुंज छवि का उपयोग एक प्रारूप में करता है जिसे एक मानचित्र पर एक परत के रूप में दिखाया जा सकता है? संक्षेप में, मैं वाणिज्यिक SpatialKey ( स्क्रीनशॉट ) सॉफ्टवेयर के परिणामों को फिर से बनाने का लक्ष्य बना रहा हूं ।

मैं मानचित्रों के लिए डेटा को होस्ट करने के लिए जियोसेवर उदाहरण का उपयोग कर रहा हूं, लेकिन मैं आवश्यक प्रक्षेपण को कैसे शामिल कर सकता हूं और जानकारी को समन्वयित कर सकता हूं ताकि यह अपनी वास्तविक भौगोलिक स्थिति के साथ सही ढंग से संरेखित हो सके। घनत्व हीटमैप का निर्माण स्थानिक डेटा का उपयोग करके किया गया था।


के रूप में यह पूरी तरह से एक प्रोग्रामिंग सवाल है यह वास्तव में विषय पर नहीं है। क्या आपने स्पैटस्टैट पैकेज की जानकारी और लघु पाठ्यक्रम पीडीएफ को देखा है कि क्या यह वहां कवर किया गया है? मुझे यकीन है कि यह पहले आया है, और एक त्वरित Google खोज इस प्रासंगिक आर-हेल्प उत्तर को लाता है । मुझे आश्चर्य नहीं होगा अगर अधिक प्रत्यक्ष समाधान के साथ-साथ कुछ और खोज भी मौजूद हैं।
एंडी डब्ल्यू

आपने उत्पन्न रास्टर छवि कैसे बनाई है? क्या यह किसी अन्य एप्लिकेशन से आ रहा है, या R के भीतर बना है?
सिमबामुंग

यह छवि () फ़ंक्शन का उपयोग करके आर के भीतर उत्पन्न होता है।
मिमो

एक्स में असमान क्षैतिज और ऊर्ध्वाधर संकल्प हैं। इस तरह के डेटा को आर्क-एससीआई प्रारूप में संग्रहीत नहीं किया जा सकता है। मेरे एक्स में 4684, 1950 आयाम है, यह संकल्प के बारे में शिकायत करता है। मैंने इसे वैसे ही बनाया है। छोटी गाड़ी

जवाबों:


15

रेखापुंज पैकेज आपको मनमाने ढंग से चूहे (आकार, प्रक्षेपण) बनाने या मौजूदा वस्तुओं का उपयोग करने देता है, जैसे मैट्रिस; फिर आप अनुमानों और विस्तार प्रदान कर सकते हैं। आपका image()फ़ंक्शन एक मैट्रिक्स तर्क लेता है जिसे सीधे उपयोग किया जा सकता है:

library(raster)    
## Create a matrix with random data & use image()
xy <- matrix(rnorm(400),20,20)
image(xy)

# Turn the matrix into a raster
rast <- raster(xy)
# Give it lat/lon coords for 36-37°E, 3-2°S
extent(rast) <- c(36,37,-3,-2)
# ... and assign a projection
projection(rast) <- CRS("+proj=longlat +datum=WGS84")
plot(rast)

फिर आप writeRaster()किसी भी प्रारूप के उदाहरण के साथ उपयोग कर सकते हैं

writeRaster(rast, "~/myraster.asc", format = "ascii")

2

कई तरीके हैं, लेकिन एक स्टैब लेना जो आप विंडोज पर ओपन-सोर्स टूल्स का उपयोग करना चाहते हैं, मैं 3 विकल्प सुझा सकता हूं:

  1. GDAL (ओपन-सोर्स जियो- रेस्टर हेरफेर लाइब्रेरी) में gdal_translate टूल का उपयोग करें । आपको शायद -gcp pixel line easting northing elevationपैरामीटर की आवश्यकता है जहां रेखापुंज पर पिक्सेल और लाइन x / y है ( http://www.gdal.org/gdal_datamodel.html ) और भौगोलिक निर्देशांक को ईस्ट / नॉटिंगिंग। आपको इसके साथ एक प्रक्षेपण भी बताना होगा-a_srs srs_def
  2. GDAL को r बाइंडिंग का उपयोग करें और वही काम करें
  3. इस ट्यूटोरियल का अनुसरण करने और GDAL के साथ QGIS का उपयोग करने का एक आसान "GUI" तरीका हो सकता है । इसका नुकसान आपको QGIS और GDAL दोनों को सेट करना होगा यदि आपने पहले से नहीं किया है।

मैं आपके द्वारा चुने जाने वाले मार्ग से नीचे जाने से पहले प्रत्येक बिट सॉफ़्टवेयर की निर्भरता को ध्यान से देखूंगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.