أكثر

الاستعلام للحصول على بدن محدب

الاستعلام للحصول على بدن محدب


هل الاستعلام أدناه صحيح للحصول على شكل بدن محدب:

DATA "the_geom من (حدد ST_ConvexHull (ST_Collect (the_geom)) كـ the_geom FROM xyz) مثل foo باستخدام معرف فريد باستخدام SRID = XXXX"


تعديل: التحديث ، بعد أن أدركت في وقت متأخر أن هذا سؤال خادم الخريطة.

بشكل عام ، للحصول على الهيكل المحدب ، ستحتاج إلى التجميع حسب المعرف / gid ، لأن إنتاج الهيكل (الهياكل) هو عملية مجمعة. لذلك ، بدون جزء Mapserver ، سيبدو الاستعلام كما يلي:

حدد معرف ، ST_ConvexHull (ST_Collect (the_geom)) كـ the_geom من مجموعة xyz بواسطة معرف ؛

الآن ، للحصول على MapServer لفهم ذلك في تعريف البيانات ، عليك القيام بما يلي:

DATA "the_geom FROM (حدد المعرف كـ oid ، ST_ConvexHull (ST_Collect (the_geom)) باعتبارها the_geom FROM xyz group by id) مثل some_table باستخدام UNIQUE oid USING SRID = 4326

حيث افترضت أن SRID الخاص بك هو 4326.

إجابة أصلية غير صحيحة:
لا تحتاج إلى SRID على الإطلاق ، إلا إذا كنت ترغب في التحويل من نظام إحداثي إلى آخر ، أو إذا كنت ترغب فقط في تحديد الأشكال الهندسية باستخدام srid معين في الاستعلام - ولكن سيكون من غير المعتاد بعض الشيء أن يكون لديك أشكال هندسية مختلطة في نفس العمود. ليست هناك حاجة لاستعلام فرعي ، يمكنك فقط كتابة ،

حدد ST_ConvexHull (ST_Collect (the_geom)) كـ the_hull من xyz WHERE id = someid ؛

حيث قمت بتغيير الإخراج إلىالهيكلللتمييز عن المدخلاتthe_geom. إذا كنت تقصد حقًا تضمين الأشكال الهندسية فقط مع srid معين ، فقم بإضافة و st_srid (the_geom) = some_srid 'في نهاية جملة where.


الاستعلام للحصول على بدن محدب - نظم المعلومات الجغرافية

أمثلة على برمجة GeoSpark (Scala)

val objectRDD = مستطيل جديد (sc، inputLocation، offset، "csv")

val resultSize = RangeQuery.SpatialRangeQuery (objectRDD، queryEnvelope، 0) .getRawRectangleRDD (). count ()

val objectRDD = جديد RectangleRDD (sc، inputLocation، offset، "csv")

نتيجة val = KNNQuery.SpatialKnnQuery (objectRDD، queryPoint، 1000) #### استعلام الصلة المكانية مع مستطيل Val index RDD = new RectangleRDD (sc، inputLocation2، offset2، "csv")

val objectRDD = مستطيل جديد (sc ، inputLocation ، offset ، "wkt" ، "rtree" ، numPartitions)

val JoinQuery = JoinQuery جديد (sc ، objectRDD ، rectangleRDD)

val resultSize = JoinQuery.SpatialJoinQueryUsingIndex (objectRDD، rectangleRDD) .count ()

مجموعات البيانات الموزعة المرنة المكانية (SRDD)

تقوم GeoSpark بتوسيع RDDs لتشكيل RDDs المكانية (SRDDs) وتقسيم عناصر بيانات SRDD بكفاءة عبر الأجهزة وتقدم مكانيًا جديدًا متوازيًا (عمليات هندسية تتبع معيار Open Geosptial Consortium (OGC)) التحويلات والإجراءات (لـ SRDD) التي توفر واجهة أكثر سهولة للمستخدمين لكتابة برامج تحليل البيانات المكانية. علاوة على ذلك ، يقوم GeoSpark بتوسيع طبقة SRDD لتنفيذ الاستعلامات المكانية (مثل استعلام النطاق واستعلام KNN واستعلام الانضمام) على مجموعات البيانات المكانية واسعة النطاق. بعد استرداد الكائنات الهندسية في طبقة RDD المكانية ، يمكن للمستخدمين استدعاء عمليات معالجة الاستعلام المكاني المتوفرة في طبقة معالجة الاستعلام المكاني الخاصة بـ GeoSpark والتي تعمل على الكتلة الموجودة في الذاكرة ، وتقرر كيفية تخزين المجموعات المكانية العلائقية ، وفهرستها ، و الوصول إليها باستخدام أجهزة SRDD ، وإرجاع نتائج الاستعلام المكاني التي يطلبها المستخدم.

(العمود ، العمود. خط الطول ، خط العرض ، العمود ، العمود.)

(العمود ، العمود. خط الطول 1 ، خط الطول 2 ، خط العرض 1 ، خط العرض 2 ، العمود ، العمود.)

يوجد زوجان من خطوط الطول وخط العرض ، حيث تقع الرؤوس على قطر مستطيل واحد.

(العمود ، العمود. خط الطول 1 ، خط العرض 1 ، خط الطول 2 ، خط العرض 2 ،.)

كل مجموعة تحتوي على نقاط غير محدودة.

## تنسيق البيانات المدعوم يدعم GeoSpark القيم المفصولة بفواصل ("csv") والقيم المفصولة بعلامات جدولة ("tsv") والنص المعروف جيدًا ("wkt") و GeoJSON ("geojson") كتنسيقات إدخال. يحتاج المستخدمون فقط إلى تحديد تنسيق الإدخال كـ Splitter وعمود البداية (إذا لزم الأمر) للمعلومات المكانية في مجموعة واحدة كـ Offset عند استدعاء Constructors.

يدعم GeoSpark طرق التقسيم المكاني ذات الحجم المتساوي ("equgrid") ، R-Tree ("rtree") ومخطط Voronoi ("voronoi") التقسيم المكاني هو إعادة تقسيم RDD وفقًا للمواقع المكانية للكائنات. سيكون الانضمام المكاني على RDD المقسم المكاني سريعًا جدًا.

يدعم GeoSpark اثنين من الفهارس المكانية ، وهما Quad-Tree و R-Tree.

يوفر GeoSpark حاليًا دعمًا أصليًا لـ Inside و Overlap و DatasetBoundary و Minimum Bounding Rectangle و Polygon Union في SRDDS وفقًا لمعيار Open Geospatial Consortium (OGC).

يوفر GeoSpark حتى الآن استعلامًا عن النطاق المكاني واستعلام الانضمام واستعلام KNN في أجهزة SRDD.

جيا يو ، جينكسوان وو ، محمد ثروت. "عرض توضيحي لـ GeoSpark: إطار الحوسبة العنقودية لمعالجة البيانات المكانية الكبيرة". (ورقة تجريبية) انطلاقًا من مؤتمر IEEE الدولي حول هندسة البيانات ICDE 2016 ، هلسنكي ، FI ، مايو 2016

جيا يو ، جينكسوان وو ، محمد ثروت. "GeoSpark: إطار الحوسبة العنقودية لمعالجة البيانات المكانية واسعة النطاق". (ورقة قصيرة) انطلاقًا من مؤتمر ACM الدولي حول التطورات في نظم المعلومات الجغرافية ACM SIGSPATIAL GIS 2015 ، سياتل ، واشنطن ، الولايات المتحدة الأمريكية ، نوفمبر 2015

تستفيد GeoSaprk من JTS Plus (إصدار JTS Topology Suite الممتد الإصدار 1.14) لبعض الحسابات الهندسية.

يرجى الرجوع إلى موقع JTS Topology Suite و JTS Plus لمزيد من التفاصيل.

### موقع الويب الخاص بالمشروع يرجى زيارة موقع مشروع GeoSpark wesbite لمعرفة آخر الأخبار والإصدارات.

GeoSpark هو أحد المشاريع ضمن DataSys Lab في جامعة ولاية أريزونا. تتمثل مهمة DataSys Lab في تصميم وتطوير أنظمة إدارة البيانات التجريبية (مثل أنظمة قواعد البيانات).


وضع التحرير (علامة تبويب)> حدد الكل (أ)> شبكة> الرؤوس (Ctrl + v)> هيكل محدب (ح):

هيكل محدب bmesh المشغل

bmesh.ops.convex_hull (bm، input، use_existing_faces)

هيكل محدب

يبني بدنًا محدبًا من الرؤوس في "الإدخال".

إذا كان "use_existing_faces" صحيحًا ، فلن يُخرج الهيكل مثلثات يغطيها وجه موجود مسبقًا.

تتم إضافة جميع رؤوس الهيكل ، والوجوه ، والحواف إلى "geom.out". تتم إضافة أي عناصر إدخال تنتهي داخل الهيكل (أي لا يتم استخدامها بواسطة وجه الإخراج) إلى الفتحة "interior_geom". ستحتوي الفتحة "unused_geom" على جميع الأشكال الهندسية الداخلية غير المستخدمة تمامًا. أخيرًا ، تحتوي "ثقوب_جسم" على حواف ووجوه كانت في الإدخال وتشكل جزءًا من الهيكل.

اختبار البرنامج النصي ، يقوم بإنشاء بدن محدب لكائن الشبكة النشط.

سوزان وبدن محدب سوزان


2 إجابات 2

أعتقد أن نتيجتك تأتي من خصائص معروفة لـ عمق بسيط. العمق البسيط لنقطة الاستعلام q فيما يتعلق بمجموعة النقاط P هو عدد البساطة التي تحتوي على رؤوس P التي تحتوي على q. (هناك خيارات مختلفة للسماح لـ q بأن تكون على الحدود أو تطلب أن تكون في الداخل ، ولكن إذا افترضت أن اتحاد P و q في وضع عام ، مما يعني عدم وجود نقاط d + 1 على مستوى فائق شائع ، حيث d هو البعد ، وبالتالي لا يهم).

من المعروف الآن أن العمق البسيط لـ q هو & gt0 عندما تكون q في الهيكل المحدب لـ P ، وفي الواقع يمكن تحديد العمق من الأسفل بـ nd ، حيث n هو عدد النقاط في P و d هو البعد . على وجه الخصوص ، بالنسبة إلى d = 2 و n & gt3 ، هذه هي النتيجة بالضبط.

هناك العديد من الأماكن ، حيث يمكن العثور على دليل على ذلك ، وهنا رابط لبعض ملاحظات المحاضرات اللطيفة حول حدود العمق البسيط.

هنا نهج أولي. تحليل محدب له نتائج واضحة بشكل حدسي ولكن إثباتها مملة.

دع $ C = operatornameP $ و $ p in C $. (لا داعي لأن تكون في الداخل.)

من نظرية Carathéodory يوجد $ m le 3 $ ($ = dim mathbb^2+1$ ) بشكل مستقل النقاط $ x_k في P $ مثل أن $ p = sum_^ m mu_k x_k $ بـ $ sum_^ m mu_k = 1 $ و $ mu_k & gt 0 $.

إذا كان $ m = 1 $ ، فاختر $ x_2 ، x_3 ، x_4 in P setminus $ وتعيين $ P '= $ ، P '' = $ .

إذا كان $ m = 2 $ فاختر $ x_3 المميز ، x_4 في P setminus $ وتعيين $ P '= $ ، P '' = $ .

لذلك يمكننا أن نفترض أن $ m = 3 $. اختر أي نقطة $ x_4 in P setminus $ .

مقابل x $ in mathbb^ 2 $ let $ bar = binom <1>$ وحدد $ bar = ابدأ شريط_1 وأمبير بار_2 وأمبير بار_3 وأمبير بار_4 نهاية$. نظرًا لأن $ x_1 و x_2 و x_3 $ مستقلتان تمامًا ، فإن النقاط $ bar_1 ، بار_2 ، بار_3 $ مستقلة خطيًا وبالتالي $ ker bar$ له بعد واحد. دع $ n in ker bar$ مثل أن $ n_4 & gt0 $.

لاحظ أنه يمكننا كتابة $ bar

= بار mu $ مع $ mu_4 = 0 $.

منذ $ sum_^ 4 n_k = 0 $ نرى أن هناك $ k $ واحد على الأقل مثل أن $ n_k & lt 0 $. دع $ t ^ * = min_ (- < mu_k over n_k>) $. دع $ mu ^ * = mu + t ^ * n $ ولاحظ أن $ sum_^ 4 ( mu_k + t ^ * n_k) = 0 $ و $ mu_k + t ^ * n_k ge 0 $ وهناك بعض $ k in <1،2،3 > $ مثل هذا $ mu_k + t ^ * n_k = 0 دولار. الآن دع $ P '= $ و $ P '' = $ .


كيفية الحصول على قائمة رؤوس كل جانب من شكل بدن محدب ثلاثي الأبعاد

من السؤال "كيفية الحصول على قائمة من الرؤوس في بدن محدب" يمكنني الحصول على قائمة رؤوس كل مثلث التي تشكل كل وجه من أوجه الهيكل المحدب من مجموعة من النقاط وقم أيضًا بإغلاق المثلثات عن طريق إضافة الرأس الأول لكل قائمة من الرؤوس في نهاية تلك القائمة.

أنا أستخدم هذه القوائم لرسم الأرقام في $ LaTeX $ باستخدام Tikz. مشكلة وجود مثلثات هي أن Tikz يتعامل مع كل مثلث كوجه أو جانب مختلف من الهيكل المحدب ، وبالتالي فإنه يقوم بتظليلها بشكل مختلف حتى لو كانت المثلثات في نفس المستوى أو الوجه. على سبيل المثال ، المثلثات المغلقة للنقاط في السؤال المشار إليه أعلاه هي

والنتائج محيرة.

ومع ذلك ، إذا أعطيت قائمة مغلقة من الرؤوس الموجودة في كل وجه ، باستثناء خطوط الاتصال على نفس الوجه ،

ثم يصبح الإخراج أوضح.

(يجب إغلاق الوجوه التي تكون مثلثات مرتين لأن قوائم الرؤوس يجب أن يكون لها نفس الطول)

كيف يمكنني الحصول على قائمة رؤوس كل جانب فقط بدون الحواف الموجودة على نفس وجه الهيكل المحدب؟


GvSIG Desktop & # 8211 نظام معلومات جغرافية مفتوح المصدر

يعد gvSIG Desktop نظامًا جغرافيًا قويًا وسهل الاستخدام وقابل للتشغيل المتبادل يستخدمه آلاف المستخدمين في جميع أنحاء العالم.

من السهل العمل في مجموعة متنوعة من التنسيقات مع gvSIG Desktop والملفات المتجهة والنقطية وقواعد البيانات والخدمات البعيدة. يقدم البرنامج مجموعة متنوعة من الأدوات لتحليل وإدارة معلوماتك الجغرافية.

تم تصميم سطح المكتب gvSIG ليكون حلاً سهل التوسع ، مما يسمح للمستخدمين بتحسين تطبيق البرنامج وتطوير حلول مصممة خصيصًا.

  • الوصول إلى تنسيقات المتجهات: SHP ، DXF ، GML ، DWG ، DGN ، KML.
  • الوصول إلى تنسيقات البيانات النقطية: BMP ، GIF ، TIFF ، JPEG ، JP2 ، PNG ، VRT ، DAT of ENVI ، ERDAS (LAN ، GIS ، IMG) ، PCI Geomatics (PIX ، AUX) ، ADF من ESRI ، ILWIS (MPR ، MPL) ، MAP of PC Raster، ASC، PGM، PPM، RST of IDRISI، RMF، NOS، KAP، HDR، RAW.
  • الوصول إلى الخدمات عن بُعد: OGC (WMS و WFS و WCS و WFS-T و WPS) و ArcIMS و Ecwp.
  • الوصول إلى قواعد البيانات والجداول: PostGIS ، ArcSDE ، JDBC ، CSV.
  • العرض: الأزيز ، التحريك ، الإطارات ، محدد المواقع.
  • الاستعلام: المعلومات ، قياس المسافة والمسافة ، الارتباط التشعبي.
  • التحديد: بالنقطة ، والمستطيل ، والمضلع ، والطبقة ، والمتعدد الخطوط ، والدائرة ، والمنطقة العازلة ، والبحث الأبجدي الرقمي ، وعكس التحديد ، وحذف التحديد.
  • البحث: حسب السمة والإحداثيات.
  • المعالجة الجيولوجية: المخزن المؤقت ، التقاطع ، المقطع ، الذوبان ، الاتحاد ، الهيكل المحدب ، الفرق ، الدمج ، الوصلة المكانية ، إزاحة XY ، إعادة الإسقاط ، المعالجة الجغرافية Sextante.
  • التحرير الرسومي: إضافة طبقات الحدث ، الانجذاب ، الشبكة ، التسطيح ، مكدس الأوامر ، التراجع / الإعادة ، النسخ ، النقل ، التناظر ، التدوير ، المقياس ، تحرير الرأس ، المضلع الداخلي ، المصفوفة ، التفجير ، الانقسام ، الانضمام ، الإكمال التلقائي للمضلع ، نقطة الإدراج ، متعدد النقاط ، خط ، قوس ، متعدد الخطوط ، مضلع ، مستطيل ، مربع ، دائرة ، قطع ناقص.
  • التحرير الأبجدي الرقمي: إدارة الحقول ، تحرير السجلات ، حاسبة الحقول.
  • خدمات الفهرس والمعاجم
  • تمثيل المتجه: رمز فريد ، كميات (كثافة النقطة ، فواصل زمنية ، رموز متدرجة ، رموز متناسبة) ، فئات (تعبيرات ، قيم فريدة) ، سمات متعددة ، وسيلة إيضاح حفظ / تحميل ، مُنشئ الرموز ، مستويات الرموز ، مكتبات الرموز.
  • التمثيل النقطي: السطوع ، التباين ، التحسين ، الشفافية بالبكسل ، العتامة ، جداول الألوان ، التدرجات.
  • وضع العلامات: وضع العلامات الثابتة ، ووضع العلامات المتقدمة ، ووضع العلامات الفردية.
  • الجداول: إحصائيات ، مرشح ، ترتيب تصاعدي / تنازلي ، ارتباط ، انضمام ، نقل التحديد ، تصدير ، استيراد الحقول ، الترميز ، التطبيع.
  • مُنشئ التخطيط: تخطيط الصفحة ، عناصر رسم الخرائط (عرض ، وسيلة إيضاح ، شمال ، مقياس ، إطارات ، صورة ، نص ، رسم) ، شبكة ، قوالب.
  • الطباعة: إلى PDF ، إلى بوستسكريبت ، تصدير إلى عدة تنسيقات صور.
  • تحليل الشبكة: طوبولوجيا الشبكة ، مدير التوقف ، الحد الأدنى للمسار ، الاتصال ، الحد الأدنى للشجرة الممتدة ، المنشأ & # 8211 مصفوفة الوجهة ، الطوارئ / أقرب مزود مرافق ، مناطق الخدمة.
  • النقطية والاستشعار عن بعد: الإحصائيات ، المرشحات ، المدرج التكراري ، نطاق المقياس ، التعزيز ، الحفظ في ملف البيانات النقطية ، التوجيه ، تعريف منطقة الاهتمام (ROI) ، المكونات العامة ، الإسناد الجغرافي ، تحديد الموقع الجغرافي ، التصنيف الخاضع للإشراف ، جبر النطاق ، ملفات تعريف الصورة ، شجرة القرار ، المكونات الرئيسية ، غطاء مزركش ، اندماج الصورة ، مخطط مبعثر ، فسيفساء.
  • النشر: MapServer & # 8217s WCS و WMS و WFS و Geoserver & # 8217s WFS.
  • 3D والرسوم المتحركة: عروض ثلاثية الأبعاد ، عرض XYZ وكذلك كروي (كوكبي) ، وطبقات ثلاثية الأبعاد ، وترميز ثلاثي الأبعاد ، وتحرير ثلاثي الأبعاد ، وتأطير ثلاثي الأبعاد ، ورسوم متحركة ثنائية وثلاثية الأبعاد ، وعرض مجسم (تقسيم أفقي).
  • الطوبولوجيا: البناء الطوبولوجي ، التحرير الطوبولوجي ، التعميم ، اتجاه الخط العكسي ، المضلعات من / إلى الخطوط ، الخطوط من / إلى النقاط ، تثليث Delaunay ، مضلعات Thiessen ، البناء ، النظيف ، إصلاح الخطأ الطوبولوجي (في وضع الدُفعات).
  • أخرى: الإحداثيات مدير النظم المرجعية ، الاستيراد من / التصدير إلى WMC ، البرمجة النصية ، مدير الترجمات.

موقع إلكتروني: www.gvsig.com
يدعم: توثيق
مطور: جمعية gvSIG
رخصة: رخصة جنو العمومية العامة (الإصدار 3 أو أحدث)

مكتوب gvSIG Desktop بلغة Java. تعلم جافا مع موصى به كتب مجانية و دروس مجانية.

اقرأ مجموعتنا الكاملة من برنامج مجاني ومفتوح المصدر موصى به. المجموعة تغطي جميع فئات البرامج.


شهادة تخرج في علوم البيانات الجغرافية المكانية

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


أصغر هياكل محدبة ($ n $ -Simplex) بقيمة $ n + 2 $ نقطة في $ mathbb^ ن $

"بالنظر إلى $ n $ ، ابحث عن الحد الأدنى لقيمة $ k $ مع الخاصية التالية: أي نقاط $ k $ (مميزة) في $ mathbbيمكن تقسيم ^ n $ إلى مجموعتين فرعيتين منفصلتين بحيث لا يكون تقاطع الهياكل المحدبة للقسمين فارغًا. "

الهيكل المحدب للمجموعة هو "أصغر" مجموعة محدبة تحتوي على المجموعة. المجموعة المحدبة $ C $ هي مجموعة يكون فيها $ forall x، y in C $، $ lambda x + (1- lambda) y in C $ لـ leq lambda leq 1 $.

على سبيل المثال ، في $ mathbb$ ، افترض أن لدينا ثلاث نقاط ، $ a ، b ، c $ مع $ a & lt b & lt c $. ثم اجعل $ a $ و $ c $ في أحد الأقسام و $ b $ في القسم الآخر. من الواضح أن الهيكل المحدب لـ $ $ هو الجزء المستقيم الذي يمر بالفعل $ b $.

في $ mathbb^ 2 دولار ، أعتقد أن $ k = 4 دولارات. لدينا أربع حالات:

الحالة 1: جميع النقاط الأربع $ a و b و c و d $ متداخلة. ثم يمكن أن تكون الأقسام $ $ و $ من الواضح أن هياكل $ وهياكلها المحدبة بها تقاطع غير فارغ.

الحالة 2: ثلاث من النقاط متداخلة ، لنقل $ a ، b ، c ، $ مع $ b $ بين $ a $ و $ c $. النقطة $ d $ موجودة في مكان آخر. ثم دع الأقسام مرة أخرى تكون $ $ و $ $.

الحالة 3: النقاط الأربع تشكل رؤوس شكل رباعي محدب. ثم دع الهياكل المحدبة تكون "الأقطار".

الحالة 4: تشكل النقاط الأربع رؤوس شكل رباعي مقعر. ثم تشكل ثلاث من النقاط رءوس المثلث وستكون النقطة الرابعة بداخله. بدن محدب $ $ هو بالضبط هذا المثلث.

أظن أن $ k = n + 2 $. أعتقد أن الهيكل المحدب بقيمة $ n + 1 $ نقطة في $ mathbb^ n $ هو $ n $ -simplex (لا أعرف ما إذا كان هذا هو الرمز الصحيح). يمكننا دائمًا تكوين نموذج بسيط باستخدام $ n + 1 $ من النقاط ثم جعل النقطة الأخيرة تطفو. إذا كانت هذه النقطة داخل البسيط (بدن محدب مخمن) ، فقد انتهينا. إذا كان خارجها ، يمكننا نوعًا ما تقسيم المساحة بناءً على "الوجوه" في جهازنا البسيط.

على سبيل المثال ، في $ mathbb^ 3 دولار ، لدينا خمس نقاط. يمكننا بناء رباعي السطوح بأربع نقاط. سيكون للرباعي الوجوه أربعة وجوه يمكن تمديدها إلى أربع مستويات ، وتقسيم $ mathbb^ 3 دولار. كل طائرة تقسم المساحة إلى قسمين. لذا ، إذا كانت النقطة الخامسة على جانب واحد من الوجه ، فإن هناك رأسًا مرتبطًا برأس رباعي الوجوه على الجانب الآخر. يمكننا ترك هذا الرأس والنقطة الخامسة في قسم والنقاط الثلاث الأخرى في الأخرى. وهكذا ، لدينا قطعة مستقيمة تمر عبر مثلث. إذا كانت هناك مشكلة في وجود النقطة في مستوى أحد الوجوه ، أعتقد أنه لا يزال بإمكاننا تفسير هذه الحالة ببساطة عن طريق تشكيل مثلث وقطعة مستقيمة.

لكن أبعد من $ mathbb^ n $ ، ليس من الواضح بالنسبة لي كيفية إثبات أو دحض التخمين. أعتقد أن الحل لا ينبغي أن يتطلب أي شيء سوى الأساليب الابتدائية (ليست بالضرورة سهلة أو بسيطة ، مجرد تقنيات قد يتعرف عليها طالب جامعي أو حتى طالب ثانوي). لا أعرف في الواقع أي هندسة جبرية ولكني أعلم أن الهندسة المبسطة والهندسة الأفينية لها علاقة بالمشكلة ومن ثم العلامات.


بيانات المتجه على التضاريس # 2172

بيانات المتجه: المضلعات والخطوط المتعددة واللوحات الإعلانية / الملصقات.

في الوقت الحالي مجرد عنصر نائب لجمع مواد القراءة. المزيد قادم.

تم تحديث النص بنجاح ، ولكن تمت مواجهة هذه الأخطاء:

لا يمكننا تحويل المهمة إلى مشكلة في الوقت الحالي. حاول مرة اخرى.

تم إنشاء المشكلة بنجاح ولكن لا يمكننا تحديث التعليق في الوقت الحالي.

فمورا تم التعليق عليه في 10 فبراير 2015

بجكوزي علق في 16 فبراير 2015

bagnell هل يمكنك تقييم ملصقات الحجم كنهج للمضلعات / الخطوط المتعددة على التضاريس؟ فكر في الأداء والدقة.

لا أعرف كيف أجعله سريعًا للمضلعات ، فهو يحتاج إما إلى تحلل محدب (ليس بالضرورة دقيق الحبيبات مثل التثليث) أو اختبار نقطة في مضلع لكل بكسل (والذي ، إذا تم إجراؤه باستخدام نسيج ثنائي الأبعاد من سيكون للمضلع جميع عيوب تنقيط النسيج كطبقة صورة).

بجكوزي علق في 17 فبراير 2015 & # 8226

bagnell فيما يلي بعض الملاحظات حول نهج حجم الظل:

  • تذكر عدم استخدام المجال المحيط للمضلع نفسه لأن المضلع الحقيقي هو المكان الذي يتقاطع فيه الحجم مع التضاريس. الشيء الأكثر تحفظًا هو استخدام المجال المحيط للمجلد ، لكنني أعتقد أنه يمكننا القيام بعمل أفضل.
  • لحفظ التعبئة ، بدلاً من استخدام الحد الأقصى للارتفاع للانبثاق لأعلى ، يجب أن نضيف وظيفة إلى موفر التضاريس لإرجاع الحد الأقصى (وربما الأدنى) للارتفاع بناءً على التضاريس المحملة (ربما باستخدام رد اتصال للتنقيح؟) . للبدء ، يمكن أن يعتمد هذا على مجال إحاطة كل منها (أو أقصى ارتفاع عندما يكون أقل) ، ولكن يمكننا أن نجعل هذا أفضل بكثير من خلال امتداد شبكة كمي يحافظ على min / max لكل عقدة. يمكن أن تكون هذه أيضًا خدمة ويب.

بجكوزي تم التعليق عليه في 17 فبراير 2015

ملاحظات من مناقشتنا على اللوحات الإعلانية / الملصقات:

  • أصل اختبار العمق في رأس التظليل باستخدام المخزن المؤقت لعمق التضاريس. سيتطلب ذلك VTF ، وهو مدعوم بنسبة 97٪ (MAX_VERTEX_TEXTURE_IMAGE_UNITS).
  • ارتفاع الاستعلام من مزود التضاريس. قم بمعاودة الاتصال عند تحسينها. ستقوم طبقة الكيان بتحديث ارتفاع اللوحات الإعلانية.
  • على المدى الطويل ، قد نحتاج إلى القدرة على إظهار عدد العلامات الأقرب / الأكثر أهمية فقط وليس اختبار العمق لها. يتيح لنا ذلك رؤية الملصقات من خلال التضاريس والمباني وما إلى ذلك.

بجكوزي تم التعليق عليه في 17 فبراير 2015

أيضًا ، أتوقع أن تكون مناهج مساحة الشاشة (حجم الظل ، والملصق ، وما إلى ذلك) أفضل بكثير لتحرير وقت التشغيل من أساليب الملمس وأخذ العينات الفرعية (قد يكون أخذ العينات الفرعية جيدًا ، لكنني أتوقع إعادة تنقيط النسيج ، خاصة إذا لقد صنعنا منه شجرة رباعية متفرقة ، سيكون بطيئًا بشكل مؤلم).

بجكوزي تم التعليق عليه في 17 فبراير 2015

ارتفاع الاستعلام من مزود التضاريس.

لست متأكدًا من الشكل الذي يبدو عليه التطبيق الآن ، لكن يمكننا أن نفعل أفضل بكثير من نظرة القوة الغاشمة إلى كل مثلث. يمكننا أن نفترض أن المثلث الذي تم استخدامه مؤخرًا سيتم استخدامه بعد ذلك ، وكذلك استخدام المعلومات المتجاورة (الحساب المسبق مرة واحدة على العميل على ما أظن ، أو كملحق شبكي كمي) أو ترتيب شجرة رباعية داخل البلاط للعثور على المثلث الأيمن .

قم بمعاودة الاتصال عند تحسينها. ستقوم طبقة الكيان بتحديث ارتفاع اللوحات الإعلانية.

يمكن القيام بذلك على عامل الويب ، على سبيل المثال ، في كل مرة نحصل فيها على لوحة جديدة ، ينظر عامل الويب إلى جميع المناصب التي تم الاشتراك فيها لتصنيف عمليات الاسترجاعات (أو الأحداث). قد يكون هذا العامل هو نفسه الذي يعالج التجانب من أجل التصور أو عامل منفصل لتقليل زمن الوصول لتصور التضاريس على حساب تأخير تحديث بيانات المتجه.

بجكوزي تم التعليق عليه في 17 فبراير 2015

bagnell ربما نقوم بعمل خطوط متعددة في الماضي. يمكننا تقييم أحجام الظل لهم باستخدام هندسة الممر وأخذ العينات الفرعية باستخدام البنية التحتية التي سنبنيها للوحات الإعلانات / الملصقات. يعتبر الفصل 3 من تقنيات التصور الموجه لقابلية الاستخدام لعرض خريطة التنقل ثلاثي الأبعاد مقارنة جيدة ، ولكن أخذ العينات الفرعية يؤدي إلى تقاطعات خطية / مثلثية - ولا يزال لا يحصل على جودة بصرية كافية للتضاريس عالية الدقة.

كرينج تم التعليق عليه في 18 فبراير 2015

للبدء ، يمكن أن يعتمد هذا على مجال إحاطة كل منها (أو أقصى ارتفاع عندما يكون أقل) ، ولكن يمكننا أن نجعل هذا أفضل بكثير من خلال امتداد شبكة كمي يحافظ على min / max لكل عقدة.

لست متأكدا ما تعنيه هنا. تعرف البلاط الشبكي الكمي بالفعل الحد الأدنى والحد الأقصى للارتفاع لأي نقطة داخل البلاط. هل هذا ما تشير إليه أم أنك بحاجة إلى شيء آخر؟ في الواقع ، تعمل مربعات مخطط الارتفاع أيضًا ، يتم حسابها فقط في وقت التحميل.

بجكوزي تم التعليق عليه في 18 فبراير 2015

لا. هذا سيفعل ذلك. من الواضح أنني لم ألقي نظرة على التنسيق.

بجكوزي تم التعليق عليه في 21 فبراير 2015

bagnell كان لدي المزيد من الأفكار حول النقطة في الحجم.

  • إذا لم يكن موجودًا بالفعل: المجال المحيط - & gt مقذوف بدن محدب - & GT اختبار دقيق
  • إذا كان موجودًا بالفعل: المجال المدرج - & gt المدرج بدن محدب - & اختبار دقيق gt (في الواقع ربما تحقق من المجال المحيط والبدن المحدب المقذوف قبل الاختبار الدقيق)
  • لاحقًا: ضع في اعتبارك BVH لتجنب O (n) على جميع المضلعات.
  • ربما تحتاج إلى استكشافية لمعرفة ما إذا كان الهيكل المحدب يستحق ذلك ، على سبيل المثال ، إذا كان المضلع محدبًا بالفعل أو يمكن تقسيمه إلى مناطق محدبة قليلة.
  • أعتقد أننا يجب أن نبدأ بترميز النقطة العامة (أو بالقرب من المستوى؟) في الحجم المبثوق ، لكنني أظن أننا سنريد أيضًا إصدارًا محسنًا لحالتنا الفريدة:
    • لا نحتاج إلى التحقق من الغطاء السفلي تحت التضاريس
    • بشكل عام ، سنحتاج إلى التحقق من الغطاء العلوي ، اختبار كل مثلث سيكون بطيئًا ، لكن أعتقد أنه يمكننا الابتعاد بمجرد التحقق من ارتفاع الكاميرا. ومع ذلك ، أتوقع أن تكون هناك مشكلة لأن ذلك يفترض وجود فسيفساء لا نهائية من الغطاء العلوي ، لذلك قد نحتاج إلى التحقق من ارتفاع معتدل ، ثم التحقق من المثلثات (ما لم تكن الكاميرا أعلى من الارتفاع الأقصى).

    بجكوزي تم التعليق عليه في 25 أبريل 2015

    باجنيل علق في 21 أغسطس 2015

    • أضف الحد الأدنى الديناميكي للارتفاع. (يحتاج إلى تغييرات على الأشكال الهندسية المدعومة)
    • استعلام عن التضاريس للحصول على أقصى ارتفاع أكثر إحكامًا.
    • إضافة خيار إلى الأشكال الهندسية لإنشاء أحجام إحاطة مختلفة.
    • دفعة حسب اللون؟
    • تشديد OBB؟ ربما تحسب من المثلثات

    93 - ماشاءالله تم التعليق عليه في 25 أكتوبر 2017

    تقنيات التصور الموجهة للاستخدام لعرض خريطة التنقل ثلاثي الأبعاد. 2014.

    هذا الشيء يشبه أ دليل المسافر أو شيء رائع

    بجكوزي تم التعليق عليه في 7 فبراير 2018

    قرأت فقط التجريد ، لكن هذا قد يكون ممتعًا:

    مؤجل تصور خريطة المتجه

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

    https://dl.acm.org/citation.cfm؟doid=3002151.3002157

    @ likangning93 قراءة وإعلامنا برأيك.

    ثوينو علق مارس 15 ، 2018 & # 8226

    عزيزي باتريك وآخرين ، قد ترغب في النظر في مقال المجلة على الرابط أعلاه ، والذي يحتوي على المزيد من تحليل الأداء:

    هبينكوس تم التعليق عليه في 15 مارس 2018

    93 - ماشاءالله علق في 30 أبريل 2018 & # 8226

    هذا النهج مذهل ومرعب. النقطة الجوهرية هي أنه بدلاً من عرض "الخطوط" كشكل هندسي ، فإنهم يقومون بتمرير عملية نشر بملء الشاشة يتحقق من كل جزء من أجزاء التضاريس في العرض الحالي لمعرفة مدى قربه من مقطع خط ، مع تخزين جميع مقاطع الخط في الأنسجة باستخدام شبكة موحدة من BVHs.

    بغض النظر عن المخاوف غير المؤكدة بشأن قضايا الدقة ، هل حان الوقت أخيرًا لكتابة مسح GPU BVH؟ هل حان وقتي أخيرًا ؟!

    [تحرير] حسنًا ، القائمة الفعلية للمخاوف:

    • مسائل الدقة المذكورة أعلاه: هذه الورقة تعيد أجزاء التضاريس إلى "إحداثيات العالم" ثم تقوم بفحص ثنائي الأبعاد لمعرفة ما إذا كانت "قريبة" من الخطوط. أظن أننا لا نستطيع الحصول على دقة كافية بالنظر إلى حجم مساحة "تنسيق العالم"
    • أيضًا ، يتحقق هذا الشيء ثنائي الأبعاد - هذا لا يعمل بشكل جيد على الكرة الأرضية ، قد تضطر إلى تحديد سلسلة من أنظمة الإحداثيات المحلية. أو ربما إعادة تخطيط كل شيء للإحداثيات الكروية؟ ولكن هذا يأتي مع مجموعته الخاصة من مسائل الدقة / الدقة.
    • ما هي تكلفة إضافة / إزالة الخطوط؟ يبدو أن هناك الكثير من بنية البيانات للتحديث.
    • كيف يمكن أن يتكامل هذا مع الكيانات / الأوليات؟ تحاول هذه التقنية تجميع كل الخطوط المتعددة في مجموعة واحدة ثابتة من التمريرات.
    • كيف تتصرف عندما يطغى عدد الأسطر في الكتلة على تخصيص البكسل للمجموعة؟ إضافة مجموعة أخرى متعددة الخطوط؟

    لكنني أقع في حب الفكرة ، وهو أمر خطير. أتساءل عن مقدار الرياضيات التي يمكن أن ننتقل إلى منطقة العين. ونسيج التحديثات الجزئية ليست كذلك الذي - التي بطيء. ومن الممكن تخزين الخطوط المتعددة في مواد عائمة بدقة مضاعفة.

    93 - ماشاءالله علق في 30 أبريل 2018 & # 8226

    نهج مساحة الشاشة لعرض الخطوط المتعددة على التضاريس

    إحدى لحوم البقر التي أمتلكها مع هذه التقنية هي مطلب عرض كل من حجم الجدار والظل ، والذي يبدو أكثر تكلفة بالنسبة لنا بسبب WebGL. ومع ذلك ، بدمج هذا مع الأفكار التي تستفيد من جدول الدُفعات لإعدام الأجزاء في # 6393 ، أتساءل عما إذا كان بإمكاننا:

    • اعرض حجمًا رقيقًا لكل مقطع خط ، يحمل تعيين معرف الدُفعة لمواضع البداية / النهاية ويصف المتجه أو أي شيء مأخوذ مع البداية / النهاية نظام إحداثيات محلي مع مستوى XY مماس إلى الشكل البيضاوي
    • لكل جزء ، ابحث عن عمق الكرة الأرضية واحسب موضع مساحة العين. قم بسحق هذا الموضع ومواضع البداية / النهاية في المستوى XY لنظام الإحداثيات المحلي الذي تم تحويله إلى مساحة العين وتحقق من العلاقة الخطية مع البداية / النهاية ، والتي تم سحقها أيضًا.

    سيتعين علينا تعطيل Z مبكرًا على ما أعتقد ، على سبيل المثال إذا كانت الكاميرا تنظر إلى الأحجام عن كثب بحيث يتم سحب "الجزء العلوي" من الحجم فوق الأحجام المجاورة. ولكن ربما لا يكون هذا ثمنًا باهظًا يجب دفعه لتخفيض هذا إلى تمريرة واحدة.

    يمكننا أيضًا تعديل "سمك" حجم الظل باستخدام خاصية قمة الرأس العادية التي تتم إضافتها إلى المواضع بناءً على مسافة الكاميرا.

    جزء من الرياضيات الخلفية للمغلف لاستهلاك جدول الدُفعات:

    • 5000 متعدد الخطوط مع 10 نقاط لكل منها 5000 * 9 = 45000 مقطع وإدخالات جدول الدُفعات
    • لنفترض أن كل مقطع يحتوي على موضع vec3 عالي الدقة لموضع البداية ، وإزاحة 1 vec3 للوصول إلى موضع النهاية ، و 1 vec3 عادي. هذا 12 تعويمًا ، لذلك لنفترض أننا قسمنا جميع البيانات على 3 مواد
    • هذا شيء مثل 3 256 × 256 RBGA قوام عائم ، والذي لا يبدو فظيعًا للغاية

    93 - ماشاءالله تم التعليق عليه في 30 أبريل 2018

    يمنحنا نهج العلاقة الخطية أيضًا بيانات يمكن أن تكون حيوية للقيام بأشياء نمطية.

    93 - ماشاءالله علق في 30 أبريل 2018 & # 8226

    سئل: ما مدى الدعم المادي الذي نريده هنا؟ هناك تطور رائع Polyline Color sandcastle وأنا. لست متأكدًا من كيفية القيام بذلك عندما نعمل في مساحة مجزأة.

    شيء ما يمر بلونين لكل جزء وربما lerp.

    بجكوزي تم التعليق عليه في 30 أبريل 2018

    للنمط ، ابدأ باللون وعرض الخط. ثم اندفاعة. ثم القوام.

    93 - ماشاءالله علق في 1 مايو 2018 & # 8226

    لذا فإن خدعة "حجم ظل التمرير الفردي للخطوط" أعلاه قد يكون لها نفس المشاكل مثل خوارزمية حجم الظل التقليدية للخطوط المتعددة على التضاريس ، أي صعوبة الحفاظ على عرض مساحة الشاشة الثابت:

    • عند رسمها بشكل عمودي على منحدر شديد الانحدار وعرضها على الحائط
    • عند عرضها بزوايا مواجهة للأفق على أرض مستوية

    ولكن نظرًا لأنه تمريرة واحدة ولا يتطلب أي حالة عرض خاصة ، فلا يزال بإمكانه مشاركة مكالمة مع خوارزمية جدار @ pjcozzi ، والتي لا يستطيع حجم الظل التقليدي القيام بها. لذلك لا يزال هذا نوعًا ما واعدًا.

    [EDIT] يفكر في الأمر ، ربما يعاني "تصور خريطة المتجه المؤجل" أيضًا من اللطاخات ومشكلات الحافة لأنها تعتمد على شيء مثل تقنية العلاقة الخطية ثنائية الأبعاد للتحقق مما إذا كان الجزء جزءًا من مقطع خطي.

    93- فيزياء تم التعليق عليه في 11 مايو 2018

    خدعة "حجم الظل الفردي للخطوط"

    أعتقد أن هذه التقنية لديها ما يكفي من الأمل حتى نتمكن من البدء في تجميع خطة اللعب. إليك بعض اللقطات من النموذج الأولي الخاص بي على مسافات عرض مختلفة ، يجب أن نكون قادرين على محاكاة "عرض مساحة الشاشة الثابت" بشكل معقول:

    | |

    :-------------------------:|:-------------------------:|:-----------:
    بالقرب من | بعيد | أينما تكون

    أعتقد أنه من خلال واجهة برمجة التطبيقات الأولية ، سيبدو هذا نوعًا ما مثل نوع هندسي مخصص (ليتم استخدامه عبر طريقة تبني مصفوفات من GeometryInstances) ونوع بدائي مخصص سيكون مجرد غلاف خفيف الوزن حول بدائي ولكن قد يتعين عليه التشابك قليلا مع GroundPrimitive لمعلومات التضاريس.

    كيف يجب أن يتكامل هذا في Entity API بالرغم من ذلك؟ فقط شيء مثل علامة onTerrain التي يمكنك إضافتها إلى الكيانات متعددة الخطوط؟ أنا متأكد بشكل معقول من أن هذا سيحتاج إلى معكرونة خاصة به من أجهزة التحديث والمضخات تحت الغطاء بسبب البدائية المخصصة.

    قد يكون من الحكمة أيضًا البدء بالدعم المادي الذي يقتصر على الألوان البسيطة ، على سبيل المثال ، لكنني سأحاول الحصول على فكرة أكثر واقعية عن مدى صعوبة الدعم المادي الكامل قريبًا.


    نظم المعلومات الجغرافية: نظم المعلومات الجغرافية: كل ما تدور حوله

    تخدم نظم المعلومات الجغرافية (GIS) الغرض من صيانة وتحليل وتصور البيانات المكانية التي تمثل الكائنات الجغرافية ، مثل الجبال والبحيرات والمنازل والطرق والأنفاق. بالنسبة للبيانات المكانية ، تلعب السمات الهندسية (المكانية) دورًا رئيسيًا ، حيث تمثل على سبيل المثال النقاط والخطوط والمناطق في المستوى أو المجلدات في الفضاء ثلاثي الأبعاد. إنهم يصوغون السمات الجغرافية للعالم الحقيقي ، مثل نقاط القياس الجيوديسية ، وخطوط الحدود بين قطع الأرض المجاورة (في قاعدة بيانات مساحية) ، والبحيرات أو مناطق المتنزهات الترفيهية (في نظام المعلومات السياحية). في ثلاثة أبعاد ، تصف البيانات المكانية الأنفاق وأنظمة الأنابيب تحت الأرض في المدن أو سلاسل الجبال أو المحاجر. In addition, spatial data in a GIS possess non-geometric, so-called thematic attributes, such as the time when a geodesic measurement was taken, the name of the owner of a piece of land in a cadastral database, the usage history of a park.

    This chapter aims to highlight some of the data structures and algorithms aspects of GISs that define challenging research problems, and some that show interesting solutions. More background information and deeper technical expositions can be found in books such as [38, 64, 66, 75].

    Geometric Objects

    Our technical exposition will be limited to geometric objects with a vector representation. Here, a point is described by its coordinates in the Euclidean plane with a Cartesian co- ordinate system. We deliberately ignore the geographic reality that the earth is (almost) spherical, to keep things simple. A line segment is defined by its two end points. A polygonal line is a sequence of line segments with coinciding endpoints along the way. A (simple) polygonal region is described by its corner points, in clockwise (or counterclockwise) order around its interior. In contrast, in a raster representation of a region, each point in the region, discretized at some resolution, has an individual representation, just like a pixel in a raster image. Satellites take raster images at an amazing rate, and hence raster data abound in GISs, challenging current storage technology with terabytes of incoming data per day. Nevertheless, we are not concerned with raster images in this chapter, even though some of the techniques that we describe have implications for raster data [58]. The reason for our choice is the different flavor that operations with raster images have, as compared with vector data, requiring a chapter of their own.

    Topological versus Metric Data

    For some purposes, not even metric information is needed it is sufficient to model the topology of a spatial dataset. How many states share a border with Iowa? is an example of a question of this topological type. In this chapter, however, we will not specifically study the implications that this limitation has. There is a risk of confusing the limitation to topological aspects only with the explicit representation of topology in the data structure. Here, the term explicit refers to the fact that a topological relationship need not be computed with substantial effort. As an example, assume that a partition of the plane into polygons is stored so that each polygon individually is a separate clockwise sequence of points around its interior. In this case, it is not easy to find the polygons that are neighbors of a given polygon, that is, share some boundary. If, however, the partition is stored so that each edge of the polygon explicitly references both adjacent polygons (just like the doubly connected هdge list in computational geometry [62]), then a simple traversal around the given polygon will reveal its neighbors. It will always be an important design decision for a data structure which representation to pick.

    Geometric Operations

    Given this range of applications and geometric objects, it is no surprise that a GIS is expected to support a large variety of operations. We will discuss a few of them now, and then proceed to explain in detail how to perform two fundamental types of operations in the remainder of the chapter, spatial searching and spatial join. Spatial searching refers to rather elementary geometric operations without which no GIS can function. Here are a few examples, always working on a collection of geometric objects, such as points, lines, polygonal lines, or polygons. أ nearest neighbor query for a query point asks for an object in the collection that is closest to the query point, among all objects in the collection. أ distance query for a query point and a certain distance asks for all objects in the collection that are within the given distance from the query point. أ range query (أو window query) for a query range asks for all objects in the collection that intersect the given orthogonal window. أ ray shooting query for a point and a direction asks for the object in the collection that is hit first if the ray starts at the given point and shoots in the given direction. أ point- أناn-polygon query for a query point asks for all polygons in the collection in which the query point lies. These five types of queries are illustrations only many more query types are just as relevant. For a more extensive discussion on geometric operations, see the chapters on geometric data structures in this Handbook. In particular, it is well understood that great care must be taken in geometric computations to avoid numeric problems, because already tiny numerical inaccuracies can have catastrophic effects on computational results. Practically all books on geometric computation devote some attention to this problem [13, 49, 62], and geometric software libraries such as CGAL [11] take care of the problem by offering exact geometric computation.

    Geometric Data Structures

    Naturally, we can only hope to respond to queries of this nature quickly, if we devise and make use of appropriate data structures. An extra complication arises here due to the fact that GISs maintain data sets too large for internal memory. Data maintenance and analysis operations can therefore be efficient only if they take external memory properties into account, as discussed also in other chapters in this Handbook. We will limit ourselves here to external storage media with direct access to storage blocks, such as disks (for raster data, we would need to include tertiary storage media such as tapes). A block access to a random block on disk takes time to move the read-write-head to the proper position (the latency), and then to read or write the data in the block (the transfer). With today’s disks, where block sizes are on the order of several kBytes, latency is a few milliseconds, and transfer time is less. Therefore, it pays to read a number of blocks in consecution, because they require the head movement only once, and in this way amortize its cost over more than one block. We will discuss in detail how to make use of this cost savings possibility.

    All operations on an external memory geometric data structure follow the general filter- صهfinement pattern [54] that first, all relevant blocks are read from disk. This step is a first (potentially rough) filter that makes a superset of the relevant set of geometric objects available for processing in main memory. In a second step, a refinement identifies the exact set of relevant objects. Even though complicated geometric operators can make this refinement step quite time consuming, in this chapter we limit our considerations to the filter step. Because queries are the dominant operations in GISs by far, we do not explicitly discuss updates (see the chapters on external memory spatial data structures in this Handbook for more information).

    Applications of Geographic Information

    Before we go into technical detail, let us mention a few of the applications that make GISs a challenging research area up until today, with more fascinating problems to expect than what we can solve.

    Maps are the most well-known visualizations of geographical data. In its simplest form, a map is a partition of the plane into simple polygons. Each polygon may represent, for instance, an area with a specific thematic attribute value. For the attribute land use, polygons can stand for forest, savanna, lake areas in a simplistic example, whereas for the attribute state, polygons represent Arizona, New Mexico, Texas. In a GIS, each separable aspect of the data (such as the planar polygonal partitions just mentioned) is said to define a layer. This makes it easy to think about certain analysis and viewing operations, by just superimposing (overlaying) layers or, more generally, by applying Boolean operations on sets of layers. In our example, an overlay of a land use map with a state map defines a new map, where each new polygon is (some part of) the intersection of two given polygons, one from each layer. في map overlay in general, a Boolean combination of all involved thematic attributes together defines polygons of the resulting map, and one resulting attribute value in our example are the savannas من Texas. Map overlay has been studied in many different contexts, ranging from the special case of convex polygons in the partition and an internal memory plane-sweep computation [50] to the general case that we will describe in the context of spatial join processing later in this chapter.

    Map visualization is an entire field of its own (traditionally called cartography), with the general task to layout a map in such a way that it provides just the information that is desired, no more and no less one might simply say, the map looks right. What that means in general is hard to say. For maps with texts that label cities, rivers, and the like, looking right implies that the labels are in proper position and size, that they do not run into each other or into important geometric features, and that it is obvious to which geometric object a label refers. Many simply stated problems in map labeling turn out to be NP-hard to solve exactly, and as a whole, map labeling is an active research area with a variety of unresolved questions (see [47] for a tutorial introduction).

    جartographic Generalization

    If cartographers believe that automatically labeled maps will never look really good, they believe even more that another aspect that plays a role in map visualization will always need human intervention, namely map generalization. Generalization of a map is the process of reducing the complexity and contents of a map by discarding less important information and retaining the more essential characteristics. This is most prominently used in producing a map at a low resolution, given a map at a high resolution. Generalization ensures that the reader of the produced low resolution map is not overwhelmed with all the details from the high resolution map, displayed in small size in a densely filled area. Generalization is viewed to belong to the art of map making, with a whole body of rules of its own that can guide the artist [9, 46]. Nevertheless, computational solutions of some subproblem help a lot, such as the simplification of a high resolution polygonal line to a polygonal line with fewer corner points that does not deviate too much from the given line. For line simplification, old algorithmic ideas [16] have seen efficient implementations [28] recently. Maps on demand, with a selected viewing window, to be shown on a screen with given resolution, imply the choice of a corresponding scale and therefore need the support of data structures that allow the retrieval up to a desired degree of detail [4]. Apart from the simplest aspects, automatic map generalization and access support are open problems.

    Maps have been used for ages to plan trips. Hence, we want networks of roads, railways, and the like to be represented in a GIS, in addition to the data described above. This fits naturally with the geometric objects that are present in a GIS in any case, such as polygonal lines. A point where polygonal lines meet (a node) can then represent an intersection of roads (edges), with a choice which road to take as we move along. The specialty in storing roads comes from the fact that we want to be able to find paths between nodes efficiently, for instance in car navigation systems, while we are driving. The fact that not all roads are equally important can be expressed by weights on the edges. Because a shortest path

    Geographic Information Systems 55-5

    computation is carried out as a breadth first search on the edge weighted graph, in one way or another (e.g. bidirectional), it makes sense to partition the graph into pages so as to minimize the weight of edges that cross the cuts induced by the partition. Whenever we want to maintain road data together with other thematic data, such as land use data, it also makes sense to store all the data in one structure, instead of using an extra structure for the road network. It may come as no surprise that for some data structures, partitioning the graph and partitioning the other thematic aspects go together very well (compromising a little on both sides), while for others this is not easily the case. The compromise in partitioning the graph does almost no harm, because it is NP-complete to find the optimum partition, and hence a suboptimal solution of some sort is all we can get anyway. Even though this type of heuristic approaches for maintaining road networks in GIS are useful [69], it is by no means clear whether this is the best that can be achieved.

    Spatiotemporal Data

    Just like for many other database applications, a time component brings a new dimension to spatial data (even in the mathematical sense of the word, if you wish). How did the forest aصهas in New Mexico develop over the last 20 years? Questions like this one demonstrate that for environmental information systems, a specific branch of GISs, keeping track of developments over time is a must. Spatiotemporal database research is concerned with all problems that the combination of space with time raises, from models and languages, all the way through data structures and query algorithms, to architectures and implementations of systems [36]. In this chapter, we refrain from the temptation to discuss spatiotemporal data structures in detail see Chapter 22 for an introduction into this lively field.

    The development of spatial data over time is interesting not only for explicit queries, but also for data mining. Here, one tries to find relevant patterns in the data, without knowing beforehand the character of the pattern (for an introduction to the field of data mining, see [27]).

    Let us briefly look at a historic example for spatial data mining: A London epidemiologist identified a water pump as the centroid of the locations of cholera cases, and after the water pump was shut down, the cholera subsided. This and other examples are described in [68]. If we want to find patterns in quite some generality, we need a large data store that keeps track of data extracted from different data sources over time, a so- called data warehouse. It remains as an important, challenging open problem to efficiently run a spatial data warehouse and mine the spatial data. The spatial nature of the data seems to add the extra complexity that comes from the high autocorrelation present in typical spatial data sets, with the effect that most knowledge discovery techniques today perform poorly. This omnipresent tendency for data to cluster in space has been stated nicely [74]: Everything is related to everything else but nearby things are more related than distant things. For a survey on the state of the art and the challenges of spatial data


    شاهد الفيديو: 26: كيفية الإستعلام في Accessبواسطة رسالة الإدخال