أكثر

هل هناك مزود LINQ لقاعدة البيانات الجغرافية


أرغب في الاستعلام عن قاعدة بيانات ArcSDE الجغرافية الخاصة بي باستخدام LINQ ولكني لا أعرف ما إذا كان هناك موفر ESRI يمكنه أيضًا قراءة الأشكال الهندسية وقادر على التعامل مع الأرشفة أيضًا. لذلك أود قراءة البيانات من فئة Feature على سبيل المثال وتطبيق مكان لأن:

IRelationalOperator relOp = (IRelationalOperator) myFeature.Shape ؛ var features = featureClass. حيث (x => relOp.Within (x.Shape) && x.MyProperty> 1). OrderBy (x => x.MyProperty)

بشكل واضح أثناء الاستعلام عن الهياكل البسيطة مثل الحقل الرقمي قد يكون من السهل جدًا أفترض أن الاستعلامات الهندسية تتوقع المزيد من العمل.

هل هذا موجود أو هل قام أي شخص بشيء مماثل؟ هل ستوجد في ArcGIS Pro (بالطبع لا تستخدم كائنات arcobjects)؟


أعتقد حقًا أن ESRI لا توفر مزود LINQ لقواعد البيانات الجغرافية ، حتى لو كان ذلك رائعًا. أتذكر بعض المناقشات في منتديات ESRI منذ وقت مضى حول تشجيع الناس لمثل هذا التحسين. أعتقد أن الطريقة الفريدة هي:

  1. قم بتنفيذ ذلك بنفسك ، أعني ، إنشاء طريقة امتداد لـالميزةموضوع. يمكن أن تكون أشياء مجنونة للغاية !!
  2. قم بالوصول إلى SQL Server مباشرة عبر Linq إلى SQL ، بمجرد أن يدعم الأنواع المكانية. لكني لست متأكدًا من كيفية التعامل مع عوامل الارتباط.

PS1: سأستخدم ملفمرشح ISpatialوIQueryFilterلكن أعلمني إذا وجدت شيئًا آخر =) PS2: انس أمر تنفيذ معين في ArcGIS Pro لن يحدث ذلك في وقت قصير.


أولاً ، أود أن أوصي باستخدام أجزاء من هذه المكتبة لأنها بداية لما كان كاتا يصفه بأساليب الامتداد وفئات الميزات: https://github.com/esride-apf/Linq2ArcObjects

لا أرى دعمًا حتى الآن لـ ISpatialFilter ، لكنني أعتقد أنه يمكنك تفريع هذا الرمز وتعديل "src / FeatureClassExtensions.cs" وإضافة التصفية المكانية.

مكتبة قوية على ما يبدو من امتدادات فئة esri linq / feature هي Jumpercables / Wave @ Github هنا: https://github.com/Jumpercables/Wave/tree/7b44df2fd4ebd0c581fc6b3926f63a35ea4f482d/src/Wave.Extensions.Esri/ESRI/ArcGIS.

امل ان يساعد!


شاهد الفيديو: ArcMap - قواعد البيانات الجغرافية Geodatabase بشكل مبسط (شهر اكتوبر 2021).