سؤال

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

الخريطة الحرارية للمفتاح المكاني http://img697.imageshack.us/img697/7964/resolutiondays508x17550.jpg

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

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

  1. إجراء استعلام عما هو موجود حاليًا في حدود الخريطة
  2. إجراء استعلام فرعي تجميعي لكل خلية ضمن تلك الحدود (إجراء حساب أو مجموع أو متوسط ​​كما في المثال أعلاه).

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

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

هل كانت مفيدة؟

المحلول

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

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

نحن نبيع الخرائط الحرارية للخريطة الهيكلية التقليدية لاستخدامها في التكامل في تطبيقات التحليلات المرئية (على سبيل المثال:خريطة الحرارة SDK)، ولديها الآن خرائط حرارية جغرافية لتلوين المناطق.نحن نقرأ خرائط ESRI Shapefile القياسية ونقوم بكل عمليات الإسقاط والعرض من جانب العميل (في Java، وليس Flash، ولكن نفس المفهوم).أعتقد أن SpatialKey يفعل الشيء نفسه، نظرًا لأنه يدعم العرض المملوء بالمنطقة، وهو ما لا يمكن القيام به حقًا إذا كنت تستخدم خادم تجانب مثل خرائط Google.

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

لقد كتب SpatialKey للتو منشورًا جيدًا حول الاختلاف بين خرائط الحرارة المملوءة بالمنطقة (على سبيل المثال:الخرائط المواضيعية) وخرائط الحرارة الكثافة.يمكنك التحقق من ذلك في http://blog.spatialkey.com/2010/02/comparing-thematic-maps-with-density-heatmaps/.

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

نصائح أخرى

MapReduce لإجماليات الخريطة الإجمالية الفعلية، وشيء ما مع الفهرسة الجغرافية المكانية لقاعدة البيانات - لتغذية وظائف MapReduce هذه.أنا أتطلع إلى تنفيذ هذا النهج نفسه تمامًا، ولكن للواجهات بدلاً من الخرائط :) يبدو أن MongoDB مناسب تمامًا في الوقت الحالي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top