أكثر

نصائح ضغط ملف الشكل المعقدة

نصائح ضغط ملف الشكل المعقدة


أنا أبحث عن بعض النصائح حول كيفية تبسيط ملف الشكل المفصل للغاية لاستخدامه في النهاية للويب (مثل topojson) كخريطة حرارة تفاعلية. تم إنشاؤه في الأصل من ملف نقطي (Geotope - http://ecotope.org/anthromes/v2/data/). أعتقد أنه سيتطلب المزيد من التدليك قبل استخدام خوارزمية Douglas-Peucker أو Visvalingam. أعتقد أفضل طريقة لتحقيق ذلك ستكون بذكاء دمج الميزات بناءً على قيمة السمة التي يحتوي عليها كل منها. لست متأكدًا من أفضل طريقة لتحقيق ذلك. لدي شك متسلل في أن "التذويب" هو ما أحتاجه ، لكن QGIS يتجمد في أي وقت أحاول فيه ذلك.

أنا أعمل مع أدوات سطر الأوامر gdal و QGIS.

لقد أرفقت بعض لقطات الشاشة أدناه لإعطائك فكرة أفضل عما أتعامل معه.


سيكون ذلك بمثابة حل كبير. يمكنك محاولة التبسيط أولاً على النسخة النقطية ، ثم تحويلها إلى متجه والقيام بمزيد من التبسيط. http://docs.qgis.org/2.6/en/docs/training_manual/rasters/terrain_analysis.html#moderate-fa-simplifying-the-raster

طريقتان لتبسيط المتجهات عبر gdal: في ogr2ogr ، يمكنك استخدام الأمر -simplify # على أي بيانات ، والأمر -lco COORDINATE_PRECISION = # للتحويل إلى geojson


تحديث

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

#! / bin / bash # أي خطوط نقطية لضغطها. ORG_FILE =. / raw / anthromes / 1700 / anthro2_a1700.tif # مكان إخراج الملف الجديد. TMP_DIR =. / tmp # إجمالي مقدار الضغط الذي يجب القيام به. الضغط = 800 # عتبة لكل تكرار. THRESHOLD = 50 # عملية ... rm -rf $ TMP_DIR mkdir -p $ TMP_DIR gdal_sieve.py -st 50-4 $ ORG_FILE $ TMP_DIR / output - "THRESHOLD $" .tiff _CUR = $ THRESHOLD بينما [$ _CUR -le $ COMPRESSION] ؛ اسمح لـ _PREV = $ _ CUR let _CUR = $ _ CUR + $ THRESHOLD صدى "ضغط الإخراج - $ _ PREV.tiff إلى $ _CUR.tiff" gdal_sieve.py -st $ THRESHOLD -4 "$ TMP_DIR / الإخراج - $ _ PREV.tiff"  " $ TMP_DIR / output - $ _ CUR.tiff "تم

النتائج أدناه:

أصلي (بدون ضغط):

غربال أساسي مع 2100 ثلاث مرات:

استخدام سكربت bash 21 مرات من العتبة 100 (2100):