यह एक मूर्खतापूर्ण प्रश्न की तरह लग रहा है, फिर भी मुझे उस पर स्पष्ट जवाब नहीं मिल रहा है: कौन सी इकाइयाँ जियोपास / आकार में वस्तुओं के बीच की दूरी / क्षेत्र की गणना का उपयोग करती हैं?
यह एक मूर्खतापूर्ण प्रश्न की तरह लग रहा है, फिर भी मुझे उस पर स्पष्ट जवाब नहीं मिल रहा है: कौन सी इकाइयाँ जियोपास / आकार में वस्तुओं के बीच की दूरी / क्षेत्र की गणना का उपयोग करती हैं?
जवाबों:
सुडौल कंप्यूटिंग ज्यामिति के लिए एक कार्तीय विमान प्रणाली का उपयोग करता (दूरी = इयूक्लिडियन दूरी)
Shapely समन्वय प्रणाली परिवर्तनों का समर्थन नहीं करता है। दो या दो से अधिक विशेषताओं के सभी ऑपरेशन यह मानते हैं कि एक ही कार्टेसियन विमान में विशेषताएं मौजूद हैं।
जियोपांडस फियोना का उपयोग आकृति परिवर्तन (और अन्य) और कार्टोग्राफिक परिवर्तनों के लिए पीपरोज को पढ़ने के लिए करता है ।
संग्रह के वेक्टर डेटा का समन्वय संदर्भ प्रणाली (सीआरएस) केवल-पढ़ने के लिए सीआरएस विशेषता के माध्यम से पहुँचा जाता है।
import fiona
c = fiona.open("test.shp")
print c.crs['units']
m
Shapely के साथ वस्तुओं के बीच दूरी / क्षेत्र की गणना करने के लिए इकाई इस मामले में मीटर है।
जियो पांडा के साथ भी ऐसा ही है
import geopandas as gp
df = gp.GeoDataFrame.from_file('test.shp')
print df.crs['units']
m
इसका मतलब है कि यदि आप एक crs.unit = डिग्री (उदाहरण के लिए WGS84) के साथ काम करते हैं, तो सभी गणना गलत हैं। आपको सबसे पहले आपको परत को फिर से अस्वीकार करना होगा ( कैसे मैं जिंगांड्स में WSG84 के लिए ईस्टिंग और नॉर्थिंग प्रोजेक्शन को WSG84 में बदल सकता हूं? )
read_postgis
परिणामी डेटा फ़्रेम को कॉल करना केवल विशेषता हैcrs
, जो एक स्ट्रिंग है। इसकी विशेषता नहीं हैcrs['units']
; एक TypeError में परिणाम के लिए अनुरोध करने का प्रयास।