मैं .net अनुप्रयोग से SQL सर्वर के स्थानिक प्रकारों का उपयोग कैसे कर सकता हूं?


14

एक आगामी परियोजना के लिए, आवश्यकताओं में से एक मौजूदा जियो सर्वर-नेट / नेट अनुप्रयोग के एक भाग के रूप में बुनियादी जियोग्रैफिक डेटा को स्टोर और उपयोग करना है।

यह स्पष्ट प्रतीत होता है कि हम एसक्यूएल स्थानिक प्रकारों का उपयोग कर सकते हैं, हालांकि, एसक्यूएल क्वेरी के परिणाम से या (एक अद्यतन POI / बहुभुज को बचाने के लिए) उन्हें पढ़ने (कहने) का कोई तरीका नहीं लगता है।

क्या डेवलपर्स को वास्तव में संग्रहीत प्रक्रिया स्तर पर स्वयं रूपांतरण को संभालना है, या क्या मूल प्रकारों का उपयोग करने का एक तरीका है?


जैसा कि आप प्रोग्रामिंग के बारे में पूछ रहे हैं, यह StackOverflow पर बेहतर तरीके से पूछा जा सकता है।
इयान

2
@ इयान के लिए इस साइट का दायरा मूल रूप से "क्यू एंड ए साइट के लिए प्रोग्रामर , डीबीए , कार्टोग्राफर, जियोग्राफर्स और जीआईएस पेशेवर में रुचि रखने वाले किसी भी व्यक्ति के रूप में परिभाषित किया गया था " (जोर मेरा)
रॉलैंड शॉ

जवाबों:


16

क्या यह एक डेस्कटॉप एप्लिकेशन है या, सिल्वरलाइट एप्लिकेशन कहें? यदि यह वेब-आधारित है, तो आपको कुछ हुप्स के माध्यम से कूदना होगा। आप एक ऐसा दृश्य बना सकते हैं जो डब्ल्यूकेटी को उजागर करता है और फिर डब्ल्यूकेटी क्लाइंट पक्ष को डब्ल्यूपीएफ / सिल्वरलाइट जियोमेट्री में पार्स करता है।

यदि यह एक डेस्कटॉप अनुप्रयोग है तो आपको यह काफी आसान लग रहा है। SQL ज्यामिति दर्शक के कोड प्रोजेक्ट में एक अच्छा उदाहरण है जो डेस्कटॉप या वेब दोनों के लिए मदद करेगा।

आपको Microsoft.SqlServer.Types.dll को संदर्भित करना होगा, जो SQL सर्वर इंस्टॉलेशन / 100 / SDK / असेंबली में SQLGeometry या SQLGeography का सीधे उपयोग करने के लिए मिलता है।

RIA जैसी प्रौद्योगिकियां इन प्रकारों को नहीं समझती हैं, लेकिन एक काम है। अनिवार्य रूप से आप एक ऐसा दृश्य बनाते हैं जो ज्यामिति को एक varbinary (अधिकतम) के रूप में रखता है, इसे अपने OR या मैपर, RIA, LINQ, आदि में उपयोग करें और फिर इसे क्लाइंट पर वापस रूपांतरित करें। यहाँ एक अच्छा ट्यूटोरियल है

बहुत देर से संपादित: सिल्वरलाइट उन्हें स्वीकार नहीं करेगा क्योंकि पहले उल्लिखित DLL सिल्वरलाइट के खिलाफ संकलित नहीं है। कई लोगों की इच्छा सूची में सिल्वरलाइट संगत संस्करण प्राप्त करना अधिक है!



2

आप sql सर्वर डेटा प्रकारों का उपयोग कर सकते हैं, आप उन्हें nuget या यहाँ से प्राप्त कर सकते हैं: http://www.microsoft.com/en-us/download/details.aspx?id=16177 (पृष्ठ के अंत में)

उसके बाद, आप धाराप्रवाह nibbernate, फिर से nuget या इस लिंक का उपयोग कर सकते हैं: (यहाँ लिंक नहीं डाल सकते क्योंकि ऐसा लगता है कि मेरे पास 10 प्रतिनिधि नहीं हैं ...)

उसके बाद, आपको nberberate में clr प्रकार से sql प्रकार को मैप करने के लिए एक कस्टम UserType की आवश्यकता होगी। आपके लिए भाग्यशाली, इस आदमी ने एक बनाया: http://blogs.ugidotnet.org/mik/archive/2010/03/03/26/map-sql-server-2008-geography-type-with-fluent-nhiberbate.aspx

उम्मीद है की यह मदद करेगा !



1

SharpMap सबसे अच्छा समाधान है। मैंने अन्य सभी को देखा है, और यह अब तक सबसे मजबूत है। सुनिश्चित करें कि आप 2.0 बीटा संस्करण का उपयोग कर रहे हैं, हालाँकि। मैंने इसके बारे में एक ब्लॉग पोस्ट बनाया है (डाउनलोड लिंक शामिल है)। जांचने के लिए स्वतंत्र हैं।

http://www.jasonkiesel.com/index.php/119/my-go-to-collection-of-net-gis-libraries/


1

फ़ीचर डेटा ऑब्जेक्ट्स (FDO) लाइब्रेरी आपको इंटरफेस के एकल एकीकृत सेट के माध्यम से विभिन्न भू-स्थानिक डेटा प्रारूपों (SQL सर्वर सहित) तक पहुंचने की अनुमति देती है।

लाइब्रेरी C ++ में है, लेकिन लाइब्रेरी में एक .net रैपर भी है।

http://fdo.osgeo.org


0

आप nHibernate पर एक नज़र है ? यह स्थानिक .NET प्रकारों का उपयोग करता है (जैसा कि ऊपर dmbrubac द्वारा वर्णित है) लेकिन SQL सर्वर की तुलना में अन्य DB प्रणालियों से भी बात कर सकता है।

मुझे नहीं पता कि आपने यूआई स्तर के लिए भी पूछा है, लेकिन यहां मेरे 2 सेंट हैं: मैंने SharpMap, GeoAPI के साथ काम किया है और कुछ साल पहले आराम कर रहा हूं। वे महान हैं लेकिन कभी भी एक स्टेडियम में नहीं पहुंचे जहां आप कह सकते हैं कि वे काफी परिपक्व हैं जो एक व्यावसायिक अनुप्रयोग में उपयोग किया जा सकता है। मैंने एक साल पहले ईएसआरआई की सिल्वरलाइट और डब्ल्यूपीएफ एपीआई के साथ प्रयोग किया और दो प्रोटोटाइप बनाए जो एपीआई का इस्तेमाल करते थे। यह बहुत अच्छा है, यह मुफ़्त नहीं है, लेकिन यह वास्तव में ठोस है, अत्याधुनिक है और यह उन सभी चीजों को करता है जो आप इसे और अधिक करना चाहते हैं।


UI बिट आसान बिट है, जैसा कि हमारा हमारा विज़ुअलाइज़ेशन इंजन है।
रोलैंड शॉ

0

यदि आप एक वेब क्लाइंट लिख रहे हैं, तो एक विकल्प ArcGIS स्थानिक डेटा सेवा का उपयोग करना है, जो वर्तमान में Esri के MapIt उत्पाद ( http://resources.esri.com/MapIt देखें ) के साथ पैक किया गया है । सेवा RESTful वेब सेवा के माध्यम से SQL सर्वर तालिकाओं को उजागर करती है। वेब सेवा ArcGIS JSON प्रारूप का उपयोग करती है, इसलिए SQL सर्वर स्थानिक डेटा वाली तालिकाएँ ArcGIS वेब APIs में FeatureLayers के रूप में उपभोग की जा सकती हैं। यदि आप एक डेस्कटॉप क्लाइंट चाहते हैं, तो आप WPF API का उपयोग कर सकते हैं।

डेस्कटॉप विकास का एक विकल्प SQL सर्वर CLR प्रकार का उपयोग करना है जो SQL सर्वर सुविधा पैक के साथ शामिल हैं। आप यहां 2008 R2 फीचर पैक के लिए डाउनलोड पृष्ठ पा सकते हैं - http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=ceb4346f-657f-4n28-83f5-aae0c5c83d52 । डाउनलोड लिंक खोजने के लिए नीचे स्क्रॉल करें या "CLR प्रकार" के लिए एक खोज करें।

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