2009-06-25 11 views
6

सी ++ में स्थानिक डेटा में हेरफेर करने के लिए कुछ अनुशंसित ढांचे क्या हैं?सी ++ में स्थानिक डेटा में हेरफेर करने के लिए कुछ अनुशंसित ढांचे क्या हैं?

मैं बहुभुज वस्तु, बिंदु वस्तु, और कुछ संचालन जैसे यूनियन, चौराहे, दूरी और क्षेत्र की तलाश में हूं। मुझे डब्लूजीएस 84 (लॉन, लैट) में निर्देशांक दर्ज करने और वर्ग किमी में क्षेत्र प्राप्त करने की आवश्यकता है।

मैं एक मुक्त/मुक्त स्रोत ढांचा पसंद करूंगा, लेकिन सुझावों के लिए खुला हूं।

संपादित करें: दुर्भाग्य से मुझे एक गैर-जीपीएल समाधान की आवश्यकता है। एलजीपीएल ठीक है।

उत्तर

3

GEOS एक खुला स्रोत (एलजीपीएल) सी ++ ज्यामिति/टोपोलॉजी इंजन है। क्या आप सूट कर सकते हैं?

इस सामग्री को देखने के लिए उपयोगी स्थान O'Reilly वेबसाइट पर useful article और OSGeo है जो ओपन सोर्स भू-स्थानिक सामग्री का समर्थन करने के लिए एक सहयोग है।

0

इस गणना के आधार पर ये गणना कितनी जटिल हो सकती है कि आप स्वयं को लिखने पर विचार करना चाहेंगे। यदि आप केवल ऐसा क्षेत्र कर रहे हैं जो गति और ब्लोट की कमी के लिए आपका सबसे अच्छा विकल्प हो सकता है।

अन्यथा Geographic Foundation Class (GFC) library आपकी सबसे अच्छी शर्त है।

+0

GFC सूचक के लिए धन्यवाद। दुर्भाग्य से मुझे एक गैर-जीपीएल समाधान की आवश्यकता है इसलिए मैंने अपने प्रश्न को स्पष्ट किया। –

0

यह व्यापक और उच्च स्तर की है कि तुम क्या पूछा के लिए पर्याप्त नहीं है, लेकिन जियोडेटिक करने के लिए बदल देती है आप NGA उत्तम GEOTRANS लाइब्रेरी का उपयोग कर सकते हैं:

http://earth-info.nga.mil/GandG/geotrans/

दूँगी कि तुम WGS84 अक्षां जैसी चीजों के बीच परिवर्तित/लंबी और एक स्थानीय कार्टेशियन समन्वय प्रणाली। सी कोड अच्छी तरह से परीक्षण, दस्तावेज, और सार्वजनिक डोमेन है।

2
  • CGAL ओपन सोर्स प्रोजेक्ट एक सी ++ पुस्तकालय की रूप में कुशल और विश्वसनीय ज्यामितीय एल्गोरिदम तक आसानी से पहुँचा जा सकता है। CGAL जैसे की आवश्यकता होगी, ज्यामितीय गणना विभिन्न क्षेत्रों में प्रयोग किया जाता है: कंप्यूटर ग्राफिक्स, वैज्ञानिक दृश्य, कंप्यूटर एडेड डिजाइन और मॉडलिंग, भौगोलिक सूचना प्रणाली, आणविक जीव विज्ञान, मेडिकल इमेजिंग, रोबोटिक्स और गति की योजना बना, जाल पीढ़ी , संख्यात्मक तरीके।

  • जेनेरिक ज्यामिति लाइब्रेरी (geometrylibrary.geodan.nl, वर्तमान में "पूर्वावलोकन 4" में) उपयोगकर्ता परिभाषित ज्यामिति के साथ काम करते हुए ज्यामिति एल्गोरिदम का सामान्य कार्यान्वयन प्रदान करता है। एल्गोरिदम में कुछ प्रसिद्ध और अक्सर आवश्यक एल्गोरिदम शामिल होते हैं जैसे प्वाइंट-इन-पॉलीगॉन, बहुभुज क्षेत्र, पॉइंट-टू-पॉइंट दूरी, पॉइंट-टू-लाइन दूरी, लाइन क्लिपिंग और पॉलीगॉन क्लिपिंग, उत्तल हल्स। इसमें परिवर्तन एल्गोरिदम, नक्शा अनुमान और चयन एल्गोरिदम भी शामिल हैं। एल्गोरिदम के अलावा लाइब्रेरी ज्यामिति कक्षाएं प्रदान करती है जिनका उपयोग किया जा सकता है, लेकिन जेनेरिक एल्गोरिदम उन पर निर्भर नहीं हैं। जो Rasters और Vectors का समर्थन करता है एक स्थानिक डेटा अमूर्त पुस्तकालय के लिए

1

ज्यामिति मॉडल के लिए GEOS (बूस्ट में शामिल किया जाना प्रस्तावित), और GDAL/OGR।

इन पुस्तकालयों का उपयोग करके, आप विभिन्न समन्वय प्रणालियों को संभालने में सक्षम होंगे (जैसे डब्लूजीएस 84 से बदलना) क्योंकि उनमें से दोनों हूड के नीचे Proj.4 का उपयोग करते हैं। मीटर में दूरी खोजने के लिए आप डब्लूजीएस 84 से कुछ ऐसा कर सकते हैं जो यूटीएम जैसे मीटर का उपयोग करता है।

3

मैं भी Generic Geometry Library जो हाल ही में reviewed कर दिया गया है और अंत में Boost C++ Libraries का संग्रह करने के लिए स्वीकार किए जाते हैं सलाह देते हैं। बूस्ट में शामिल के रूप में, जीजीएल को अब बूस्ट.गोमेट्री कहा जाता है, अधिक सटीक बूस्ट। जीमेट्री उर्फ ​​जीजीएल, जेनेरिक ज्यामिति लाइब्रेरी

अन्य उपयोगी उपकरणों

  • ORFEO Toolbox (उर्फ ओटीबी) - छवि प्रसंस्करण एल्गोरिथ्म
  • MetaCRS का एक पुस्तकालय - एक परियोजना कई अनुमानों को शामिल, और सिस्टम संबंधित प्रौद्योगिकी के समन्वय।
  • एकमात्र GeoTiff हेरफेर के लिए libgeotiff
संबंधित मुद्दे