أكثر

كيفية إنشاء ملف WKT قابل للقراءة بواسطة QGIS 2.4.0

كيفية إنشاء ملف WKT قابل للقراءة بواسطة QGIS 2.4.0


أحاول إنشاء ملف نصي معروف (wkt) يمكن استيراده إلى إصدار QGIS. 2.4.0

إليك مثال عملي بسيط للهندسة التي أرغب في تمثيلها.

مضلع ((- 125 52 ، -125 21 ، -98 21 ، -98 52 ، -125 52) ، (- 120 50 ، -120 35 ، -100 35 ، -100 50 ، -120 50))

لقد قمت بإنشاء ملف نصي باسم polygon.wkt يحتوي فقط على تمثيل wkt أعلاه لمضلع. عندما أحاول استيراده إلى QGIS (طبقة / إضافة طبقة نص محددة) ، يستجيب مربع حوار الاستيراد "لا توجد بيانات في الملف."

كيف أحتاج إلى تعديل الملف (رأس الصفحة ، ربما) لجعله قابلاً للقراءة بواسطة QGIS؟

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

الاسم ، geom "مضلعي" ، "POLYGON ((- 125 52 ، -125 21 ، -98 21 ، -98 52 ، -125 52) ، (- 120 50 ، -120 35 ، -100 35 ، -100 50 ، -120 50)) "

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

Geom ، "POLYGON ((- 125 52 ، -125 21 ، -98 21 ، -98 52 ، -125 52) ، (- 120 50 ، -120 35 ، -100 35 ، -100 50 ، -120 50))"

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


قم بإنشاء ملف إسقاط (.prj) باستخدام Python

أ .prj يحتوي الملف على معلومات نظام الإحداثيات لمجموعة بيانات ومطلوب لـ & # 8216 on the fly & # 8217 الإسقاط بواسطة برنامج GIS. الملف نفسه هو ملف نصي يحتوي على معلومات بتنسيق نص معروف (WKT). يوضح لك مقتطف الشفرة هنا كيفية إنشاء ملف .prj باستخدام بايثون، لبياناتك إذا كان ملف .prj مفقودًا. انظر المنشور على CSV إلى Shapefile مع pyshp للحصول على مثال لاستخدام الوظيفة في سير عمل. ستحتاج إلى معرفة نظام الإحداثيات الموجود فيه البيانات و EPSG الشفرة. على سبيل المثال ، للعثور على كود EPSG لـ WGS84 ، استخدم محرك بحث وابحث عن EPSG WGS84. عادة ما يتم إرجاع الموقع الأول http://spatialreference.org/. رمز EPSG لـ WGS84 هو 4326.

يجب أن يتطابق اسم الملف مع اسم ملفات البيانات الخاصة بك. على سبيل المثال ، يجب أن يكون ملف .prj الخاص بـ Cities.shp أو Cities.tab هو Cities.prj.

إذا فتحت ملف .prj في محرر نصي ، فسترى النص أدناه.

GEOGCS في بداية WKT يشير إلى أن EPSG: 4326 هو نظام مرجعي للإحداثيات الجغرافية (سيكون المشاريع إذا كان نظام إحداثيات متوقعًا). المعلومات الواردة بين قوسين معقوفين بعد المسند توفير المعلومات لمعلمات الإسناد. نرى اسم المرجع ، & # 8216WGS_1984 & # 8217 ، و سفيرويد معلومات ذات محور شبه رئيسي يبلغ 6،378،137 مترًا بنسبة تسطيح معكوسة تبلغ 298.257223563. ال PRIMEM تخبرنا البيانات أنها تستخدم غرينتش كخط الزوال الرئيسي (حيث خط الطول يساوي صفرًا). وحدة يحدد وحدة قياس نظام الإحداثيات ، وهنا هي & # 8216degree & # 8217 ، وقيمة 0.0174532925199433 مطلوبة للتحويل من الراديان إلى الوحدات المذكورة.

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


exp1 و apt و apt-get support التثبيت من ملفات الحزمة التي يمكن الوصول إليها عبر نظام الملفات ، وليس فقط من المستودعات. ومع ذلك ، من أجل الحفاظ على التوافق مع الإصدارات السابقة ، تعمل الميزة فقط مع محددات الحزم لا لبس فيه الملفات ، بمعنى آخر. والتي تحتوي على / . يتم معالجة أي شيء آخر كحزمة اسم بدلا من حزمة ملفباستخدام الآليات الموجودة مسبقًا.

يتم التعامل معه كطلب لتثبيت الحزمة المسماة "wkhtmltox_0.12.5-0.20180604.140.rc

bionic_amd64.deb ”، وتذهب apt للبحث عن ذلك في مستودعاتها وتفشل.

يتم التعامل معه كطلب لتثبيت الحزمة الموجودة في الملف المسمى "./wkhtmltox_0.12.5-0.20180604.140.rc

bionic_amd64.deb ”(جنبًا إلى جنب مع تبعياتها ، إذا لزم الأمر). يعمل هذا أيضًا مع المسارات المطلقة.

لا يمكنني العثور على أي أثر لهذا في الوثائق المناسبة ، بصرف النظر عن الإشارة الموجزة في سجل التغيير:


عليك أن تكون على دراية بالاختلافات بين مجموعات و التباديل.
الأول هو جميع عمليات الشراء الممكنة التي يمكنك إجراؤها باستخدام عناصر مجموعتك ، وهنا لا يهم الترتيب ، $ (123) $ هو نفسه $ (312) $ ، لكن من المهم ألا يكون العنصر كذلك كرر.
الأخيرة هي جميع العناصر المختلفة لعناصر مجموعتك حيث يكون الترتيب مهمًا ، فليس من نفسه أن نقول $ (123) $ عن $ (312) $ ، لكن لا يمكنك تكرار العناصر ، قل $ (111) $ .

أولا التباديل. يمكنك أن تأخذ المجموعة التي تضم الحروف من $ Tenessee $ مثل $ $ ، وحجم العينة 4 ، تخيل أن لديك 4 مربعات ، في كل مربع يمكنك وضع تلك العناصر ، ولكن مع التقييد أنه لا يمكنك تكرار العناصر ، والترتيب مهم ،
$ mathbf (المربع 1) ​​$ يمكنك وضع أي من العناصر الثمانية
$ mathbf (المربع 2) $ بما أنك قمت بالفعل بوضع عنصر واحد في B1 ولا يمكنك التكرار ، فلديك 7 خيارات
$ mathbf (المربع 3) $ باستخدام نفس طريقة التفكير ، لديك الآن 6 اختيارات
$ mathbf (Box 4) $ لديك الآن 5 اختيارات
إذن باستخدام قاعدة المنتج ، لديك أن التباديل الذي يمكنك الحصول عليه هو 8 دولارات * 7 * 6 * 5 دولارات

الآن ، مع المجموعات ، تريد ترتيب العناصر الثمانية في 4 مربعات مرة أخرى ، لكنك ستفكر في حالات مثل $ $, $$, $$, $$ ، وما إلى ذلك ، ليكون هو نفسه. في حالة التباديل ، كانت هذه العناصر مختلفة ، لذلك سيتعين علينا تجاهل هذه الحالات إذا أردنا الحصول على مجموعات ، وبالتالي فإن عدد العناصر الإضافية هو $ 4 * 3 * 2 * 1 = 4! $ (انظر تعديل) ، لذا فإن المجموعات هي 8 * 7 * 6 * 5 أكثر من 4 * 3 * 2 * 1 دولار

يمكنك أيضًا استخدام الصيغ. إذا كان $ n $ هو عدد العناصر في مجموعتك ، وكان $ m $ هو بحجم من عينتك ، ثم يتم إعطاء التقليب بواسطة: $ n! over (n-m)! $ هناك كتب تستخدم المصطلح الاختلاف لهذه الصيغة ، والمصطلح التقليب مقابل $ n! $ ، لكن يمكنك أن ترى أنهما نفس الشيء. والتركيبات مُعطاة بـ: $ n! over m! (n-m)! $ وهو تعريف المعامل ذي الحدين
في حجمك المميز ، $ n = 8 $ و $ m = 4 $.

$ mathbf $ لماذا يوجد 4 دولارات! $ حالات إضافية؟
أعتقد أنه سيكون أسهل مع مثال أصغر أولاً.

هناك مجموعة من 5 طلاب يريدون تشكيل لجنة من 3 ، كم عدد اللجان المختلفة التي يمكنهم تشكيلها؟

باستخدام نفس طريقة الصندوق ، لدينا 3 نقاط ، نعلم أنه يمكن أخذ المركز الأول بواسطة 5 طلاب ، والثاني بواسطة 4 طلاب والثالث بواسطة 3 طلاب ، والآن لم ننتهي بعد ، لأننا الآن نفكر في ذلك لجنة $ (A، B، C) $ تختلف عن $ (B، A، C)، (B، C، A)، (A، C، B)، (C، A، B)، (C ، B، A) $ (كما ترون ، هو تباديل 3 عناصر في 3 نقاط ، ومن ثم $ 3 * 2 * 1 = 3! $) ، مصلحتنا هي معرفة عدد المرات التي نحسب فيها نفس اللجنة ، لذلك دعونا نفكر في لجنة واحدة ثابتة ، مثل تلك التي كان لدينا $ (A ، B ، C) $ ، ونحسب عدد المرات التي يمكننا فيها طلب هذه العناصر ، ونحن نعلم أن: $ 3! $ الآن دعنا نصلح لجنة أخرى: $ (B، C، D) $ نحسب أيضًا $ 3! $ أكثر من المرات وآخر $ (C، D، E) $ نفسه ، إلخ. نفس الشيء بالنسبة للباقي. ثم لكل 3 أشخاص نحسب 3 دولارات! دولارات أكثر من المنتج 5 دولارات * 4 * 3 دولارات. لذا فإن الإجابة هي 5 دولارات أمريكية * 4 * 3 / أكثر من 3 دولارات!$ ، ورأينا أنه يمكنك ترتيب هذه العناصر $ 4! $ ، باستخدام نفس التفكير مثل المشكلة أعلاه ، ما نقوم به هو عد 4 دولارات! $ أضعاف المنتج $ 8 * 7 * 6 * 5 $ ، ومن هنا ما نبحث عنه مقابل 8 * 7 * 6 * 5 أكثر من 4 دولارات! أتمنى أن يساعدك هذا. يمكنك دائمًا عمل رسومات لمعرفة ما يحدث ، جربها مع مشكلة اللجنة.


لأن النص لا يبدأ بعلامة #! يشير سطر shebang إلى المترجم الذي يجب استخدامه ، يقول POSIX أن:

إذا فشلت وظيفة execl () بسبب خطأ مكافئ لخطأ [ENOEXEC] المحدد في حجم واجهات النظام لـ POSIX.1-2008 ، يجب أن تنفذ القشرة أمرًا مكافئًا لاستدعاء قذيفة مع اسم المسار الناتج عن البحث كأول معامل لها، مع تمرير أي متغيرات متبقية إلى الصدفة الجديدة ، باستثناء أنه يمكن تعيين قيمة "" في الصدفة الجديدة على اسم الأمر. إذا لم يكن الملف القابل للتنفيذ ملفًا نصيًا ، فقد يتجاوز shell تنفيذ الأمر هذا. في هذه الحالة ، يجب أن يكتب رسالة خطأ ، ويعيد حالة الخروج 126.

هذه الصياغة غامضة بعض الشيء ، والأصداف المختلفة لها تفسيرات مختلفة.

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

يمكنك التحقق من هذا السلوك لهذه الحالة عن طريق إضافة هذه الأسطر إلى البرنامج النصي:

ستلاحظ ، من Bash ، أن السطر الأول يخرج نسختك ، في حين أن السطر الثاني لا يقول أي شيء ، بغض النظر عن الصدفة التي تستخدمها.

  • إذا كان / bin / sh الخاص بك ، على سبيل المثال ، شرطة ، فلن ينتج أي سطر أي شيء عند تنفيذ البرنامج النصي من zsh أو dash.
  • إذا كان / bin / sh رابطًا إلى Bash ، فسترى إخراج السطر الأول في جميع الحالات.
  • إذا كان / bin / sh هو ملف نسخة مختلفة من Bash عما كنت تستخدمه مباشرة ، سترى مخرجات مختلفة عند تشغيل البرنامج النصي من bash مباشرة ومن zsh.

سيعرض الأمر ps -p $ من إجابة rools أيضًا معلومات مفيدة حول الأمر الذي استخدمته shell لتنفيذ البرنامج النصي.

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

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

يمكن أن يكون هذا على سبيل المثال قذيفة ، دالة execlp () / execvp () libc.

ستستخدم معظم التطبيقات الأخرى أيًا من هذين الخيارين عند تشغيل أحد الأوامر. سوف يستدعيون قذيفة على سبيل المثال عن طريق وظيفة libc للنظام ("سطر الأوامر") والتي تستدعي عادةً sh لتحليل سطر الأوامر هذا (يمكن تحديد المسار في وقت الترجمة (مثل / bin / sh مقابل / usr / xpg4 / bin / sh on Solaris)) ، أو استدعاء الغلاف المخزن في $ SHELL بنفسه مثل vi مع! command ، أو xterm -e "سطر الأوامر" والعديد من الأوامر الأخرى (سوف يستدعي su user -c غلاف تسجيل دخول المستخدم بدلاً من $ SHELL).

بشكل عام ، يعتبر الملف النصي shebang-less والذي لا يبدأ بـ # نصًا برمجيًا. الذي sh هو سوف يختلف بالرغم من ذلك.

execlp () / execvp () ، عند execve () سوف يستدعي ENOEXEC العائد sh عليه. بالنسبة للأنظمة التي تحتوي على أكثر من sh لأنها يمكن أن تتوافق مع أكثر من معيار واحد ، والتي سيتم تحديدها عادةً في وقت التجميع (للتطبيق باستخدام execvp () / execlp () عن طريق ربط blob مختلف من التعليمات البرمجية التي تشير إلى مسار مختلف ل sh). على سبيل المثال ، في Solaris ، سيكون هذا إما / usr / xpg4 / bin / sh (معيار ، POSIX sh) أو / bin / sh (غلاف بورن (غلاف قديم) على سولاريس 10 وما فوق ، ksh93 في سولاريس 11) .

عندما يتعلق الأمر بالأصداف ، هناك الكثير من الاختلاف. bash، AT & ampT ksh، Bourne shell سوف تفسر عادة البرنامج النصي بنفسها (في عملية فرعية ما لم يتم استخدام exec) بعد محاكاة execve () ، الذي يزيل كل المتغيرات غير المصدرة ، يغلق كل fds close-on-exec ، إزالة جميع الاعتراضات والأسماء المستعارة والوظائف المخصصة. (سوف يفسر bash البرنامج النصي في وضع sh). yash ستنفذ نفسها (باستخدام sh as argv [0] لذا في وضع sh) لتفسيرها.

عادةً ما تستدعي الأصداف التي تعتمد على الرماد zsh و pdksh sh (المسار الذي يتم تحديده في وقت التجميع).

بالنسبة إلى csh و tcsh (و sh لبعض BSDs المبكرة) ، إذا كان الحرف الأول من الملف هو # ، فسيقومون بتنفيذ أنفسهم لتفسيره ، و sh بطريقة أخرى. يعود ذلك إلى فترة ما قبل Shebang حيث تعرفت csh على # كتعليقات ولكن ليس غلاف Bourne ، لذلك كان # تلميحًا إلى أنه كان نص csh.

fish (على الأقل الإصدار 2.4.0) ، يقوم فقط بإرجاع خطأ إذا فشل execve () (لا يحاول التعامل معه كبرنامج نصي).

ستحاول بعض الأصداف (مثل bash أو AT & ampT ksh) أولاً تحديد ما إذا كان من المحتمل أن يكون الملف نصيًا أم لا. لذلك قد تجد أن بعض الأصداف سترفض تنفيذ نص برمجي إذا كان يحتوي على حرف NUL في البايتات القليلة الأولى.

لاحظ أيضًا أنه إذا فشل execve () مع ENOEXEC ولكن الملف يحتوي على سطر shebang ، فإن بعض القذائف تحاول تفسير سطر shebang هذا بنفسها.

  • عندما يكون $ SHELL هو / bin / bash ، فإن xterm -e 'myscript with args' سوف يتم تفسير myscript بواسطة bash في وضع sh. بينما باستخدام xterm -e myscript مع args ، سيستخدم xterm execvp () لذلك سيتم تفسير النص بواسطة sh.
  • su -c myscript على Solaris 10 حيث يكون غلاف تسجيل الدخول للجذر / bin / sh و / bin / sh هو Bourne shell سيكون له myscript تم تفسيره بواسطة Bourne shell.
  • / usr / xpg4 / bin / awk "ابدأ
  • يجد . -prune -exec myscript <> on Solaris 10 (باستخدام execvp ()) سيتم تفسيرها بواسطة / bin / sh حتى مع / usr / xpg4 / bin / find ، حتى في بيئة POSIX (خطأ في المطابقة).
  • csh -c myscript سيتم تفسيرها بواسطة csh إذا كانت تبدأ بـ # ، بغير ذلك.

بشكل عام ، لا يمكنك التأكد من نوع الصدفة التي سيتم استخدامها لتفسير هذا النص إذا كنت لا تعرف كيف وماذا سيتم استدعاؤه.

على أي حال ، فإن read -p هو بناء جملة bash -only ، لذلك ستحتاج إلى التأكد من أن bash يفسر النص البرمجي (وتجنب امتداد .sh المضلل). إما أن تعرف مسار ملف bash القابل للتنفيذ واستخدام:

أو يمكنك محاولة الاعتماد على بحث $ PATH لملف bash القابل للتنفيذ (بافتراض أن bash مثبت) باستخدام:

(توجد env في كل مكان تقريبًا في / usr / bin). بدلاً من ذلك ، يمكنك جعله متوافقًا مع POSIX + Bourne وفي هذه الحالة يمكنك استخدام / bin / sh. ستحتوي جميع الأنظمة على / bin / sh. في معظمها سيكون متوافقًا (في الغالب) مع POSIX ، ولكن لا يزال بإمكانك العثور بين الحين والآخر على غلاف Bourne هناك بدلاً من ذلك.


كيفية استخدام منشئ Changeset

دليل خطوة بخطوة لتصدير مجموعة تغييرات من LINZ Data Service.

متاح ضمن علامة التبويب "السجل" لكل مجموعة بيانات تدعم واجهة برمجة التطبيقات Changeset ، يتيح لك منشئ مجموعة التغييرات تحديد البيانات التي تم تغييرها وتصديرها.

قبل أن تبدأ ، تأكد من قراءة الوثائق المرجعية لـ Changeset API (الروابط في نهاية الصفحة).

فترات زمنية

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

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

تصدير التغييرات من موقع LDS

سجّل الدخول إلى LDS

تستخدم Changeset API مفتاح API الخاص بك لإنشاء طلب WFS لبيانات مجموعة التغييرات. إذا لم تكن قد قمت بذلك بالفعل ، فسجّل الدخول إلى LDS وأنشئ مفتاح API.

تاريخ مراجعة مجموعة البيانات

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

استخدم مربعات الاختيار الموجودة على اليسار لتحديد النسختين اللتين ترغب في إنشاء مجموعة تغييرات لهما.

اختيار مراجعة واحدة

في المثال أدناه ، طلبنا من API إنشاء مجموعة بيانات للتغييرات التي حدثت ما بين إصدارات متسلسلة من مجموعة البيانات من المراجعة 362 إلى المراجعة 363. في LDS ، يكون عنصر الطابع الزمني FROM حصريًا. هذا يعني ، في الواقع ، أننا طلبنا إجراء تغييرات تتعلق بمراجعة واحدة ، تلك من المراجعة 363.

راجع دليلنا المرجعي حول التواريخ والطوابع الزمنية للحصول على معلومات حول كيفية إدارة مراجعات التغييرات من خلال الطوابع الزمنية.

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

اختيار المراجعات المتعددة

في هذا المثال ، ستنشئ Changeset API مجموعة بيانات بالتغييرات التي حدثت في المراجعات الخمسة بين 7 يوليو 2018 (حصريًا) و 18 أغسطس 2018 (ضمناً).

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

على سبيل المثال ، إذا تم إدراج سجل في المراجعة 360 ثم تم حذفه في المراجعة 363 ، فستقوم مجموعة التغييرات الخاصة بك بالإبلاغ عن الحذف فقط. بالإضافة إلى ذلك ، إذا تم إدراج سجل في المراجعة 359 ، ثم تم تحديثه في المراجعين 360 و 361 ، فستقوم مجموعة التغييرات الخاصة بك بالإبلاغ عن هذا التغيير باعتباره INSERT ولكن مع بيانات السمات كما في أحدث تحديث.

راجع دليلنا المرجعي حول تعريف التغيير للحصول على معلومات حول أنواع الإجراءات.

خيارات الوصول

بمجرد تحديد النسختين اللتين تريد إنشاء مجموعة تغييرات لهما ، سيتم تنشيط القسم السفلي من علامة تبويب المحفوظات ، مما يؤدي إلى إنشاء عنوان URL لـ WFS لمجموعة التغييرات المطلوبة.

هناك ثلاث طرق يمكنك من خلالها الوصول إلى مجموعة التغييرات الخاصة بك:

ملف قابل للتنزيل للاستيراد اليدوي أو عمليات البيانات البسيطة

عنوان URL لـ WFS GetCapabilities للاستخدام في تطبيقات GIS

  • انسخ عنوان URL الخاص بـ GetCapabilities الظاهر في نافذة مجموعة التغييرات والصقه في عميل GIS الخاص بك. سيقرأ عميلك مستند GetCapabilities ، ثم يقوم بإحضار البيانات

WFS GetFeature URL للعمليات المبرمجة

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

ابقى على اطلاع بالمراجعات الجديدة

يمكنك تتبع وقت نشر مراجعة جديدة لمجموعة البيانات من خلال الاشتراك في موجز السجل لمجموعة البيانات (الموجود ضمن علامة التبويب "السجل" لمجموعة البيانات هذه). سيُظهر لك موجز RSS هذا أيضًا عدد كل نوع إجراء وإجمالي عدد الميزات.

الخلاصات غير متاحة لمجموعات البيانات الخاضعة لترخيص LINZ للبيانات الشخصية.


يسمح Quantum GIS باستخدام تنسيق وتغطيات ملف الأشكال الخاصة بـ Esri. يتم دعم العديد من التنسيقات الأخرى عبر OGR ، بما في ذلك قواعد البيانات الجغرافية الشخصية ESRI وقواعد البيانات الجغرافية للملفات (تتطلب GDAL / OGR 1.9). ومع ذلك ، تشير ملاحظات القائمة البريدية إلى أنه في نظام Linux ، قد لا يعمل تنسيق قاعدة البيانات الجغرافية الشخصية المستند إلى MSAccess. يتم دعم MapInfo و PostGIS وعدد من التنسيقات الأخرى في Quantum GIS. [7] خدمات الويب ، بما في ذلك Web Map Service و Web Feature Service ، مدعومة أيضًا للسماح باستخدام البيانات من مصادر خارجية. [1]

يوفر Quantum GIS التكامل مع حزم GIS الأخرى مفتوحة المصدر ، بما في ذلك PostGIS و GRASS و MapServer لمنح المستخدمين وظائف شاملة. [1]


1 إجابة 1

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

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

مجموعة البيانات التركيبية:

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

باتباع المثال الذي استخدمته في المثال الأصلي الخاص بي ، سأحدد EOFs "كبيرة" من خلال قاعدة التجربة الشمالية.

حكم الشمال في الإبهام

نظرًا لأن قيم Lambda البالغة 2: 4 قريبة جدًا من بعضها البعض في السعة ، فإنها تعتبر غير مهمة وفقًا للقاعدة العامة - أي أن أنماط EOF الخاصة بها قد تتداخل وتختلط نظرًا لاتساعها المتشابه. هذا أمر مؤسف لأننا نعلم أن 9 إشارات موجودة بالفعل في المجال.

يتمثل الأسلوب الأكثر ذاتية في عرض قيم Lambda المحولة باللوغاريتم ("Scree plot") ثم ملاءمة الانحدار للقيم اللاحقة. عندئذٍ يمكن للمرء أن يحدد بصريًا على أي مستوى تكمن قيم لامدا فوق هذا الخط:

مؤامرة حصاة

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

الطريقة الأكثر موضوعية هي معايير "القاعدة N" بواسطة Overland و Preisendorfer (1982). يوجد تطبيق داخل حزمة wq ، والذي أعرضه أدناه.

القاعدة ن

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

مونت كارلو مع حقل عشوائي (أي مقارنة نموذج فارغ)

مرة أخرى ، توجد 4 وحدات EOF أعلى من توزيعات الحقول العشوائية. ما يقلقني من هذا النهج ، وتلك الخاصة بـ Rule N ، هو أنها لا تعالج حقًا فترات الثقة لقيم Lambda ، على سبيل المثال. ستؤدي قيمة Lambda الأولى المرتفعة تلقائيًا إلى مقدار أقل من التباين يمكن تفسيره من خلال اللاحقة. وبالتالي ، فإن Lambda المحسوبة من الحقول العشوائية سيكون لها دائمًا منحدر أقل حدة وقد ينتج عنها اختيار عدد قليل جدًا من EOFs. [ملاحظة: تفترض وظيفة eofNum () أنه يتم حساب EOFs من مصفوفة ارتباط. قد يكون هذا الرقم مختلفًا في حالة استخدام مثال مصفوفة التغاير (بيانات مركزية وليست مقاسة).]

أخيرًا ، ذكر @ tomasz74 الورقة التي أعدها بابامورادي وآخرون. (2013) ، والتي ألقيت نظرة سريعة عليها. إنه ممتع للغاية ، ولكن يبدو أنه يركز بشكل أكبر على حساب CI لتحميلات ومعاملات EOF ، بدلاً من Lambda. ومع ذلك ، أعتقد أنه قد يتم اعتماده لتقييم خطأ Lambda باستخدام نفس المنهجية. يتم إجراء إعادة تشكيل تمهيد التشغيل لحقل البيانات عن طريق إعادة تشكيل الصفوف حتى يتم إنتاج حقل جديد. يمكن إعادة أخذ عينات من نفس الصف أكثر من مرة ، وهو نهج غير حدودي ولا يحتاج المرء إلى وضع افتراضات حول توزيع البيانات.

التمهيد لقيم لامدا

في حين أن هذا قد يكون أكثر قوة من قاعدة التجربة الشمالية لحساب خطأ قيم Lambda ، أعتقد الآن أن مسألة أهمية EOF تنزل إلى آراء مختلفة حول ما يعنيه هذا. بالنسبة لطرق الإبهام وطرق التمهيد في الشمال ، يبدو أن الأهمية تعتمد بشكل أكبر على ما إذا كان التورق يتداخل بين قيم Lambda أم لا. إذا كان هناك ، فقد تختلط هذه العناصر EOF في إشاراتها ولا تمثل أنماطًا "حقيقية". من ناحية أخرى ، قد يصف هذان العنصران EOF مقدارًا كبيرًا من التباين (بالمقارنة مع تحلل حقل عشوائي - على سبيل المثال القاعدة N). لذلك إذا كان المرء مهتمًا بتصفية الضوضاء (أي عبر اقتطاع EOF) ، فستكون القاعدة N كافية. إذا كان المرء مهتمًا بتحديد أنماط حقيقية في مجموعة بيانات ، فقد تكون المعايير الأكثر صرامة لتداخل Lambda أكثر قوة.

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

مراجع:

بيكرز ، وجان ماري ، وم. "حسابات EOF وتعبئة البيانات من مجموعات البيانات الأوقيانوغرافية غير المكتملة." مجلة تكنولوجيا الغلاف الجوي والمحيطات 20.12 (2003): 1839-1856.

Overland، J.، and R. Preisendorfer ، اختبار أهمية للمكونات الرئيسية المطبقة على علم مناخ الأعاصير ، Mon. ويا. القس ، 110 ، 1-4 ، 1982.


3 إجابات 3

برنامج يمكنه تتبع التغييرات على كود php الخاص بنا أو طريقة أخرى للحفاظ على الكود الخاص بك عندما تسوء الأمور؟

لقد وصفت للتو التحكم في الإصدار. يجب أن تستخدم شيئًا مثل SVN أو Mercurial أو GIT ، وكلها تستخدم مجانا. عند استخدامه بشكل صحيح ، يمنحك التحكم في الإصدار القدرات التالية:

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

ليس كل هؤلاء ينطبقون عليك ، ولكن امنحها فرصة وستتساءل قريبًا كيف فعلت بدون الآخرين. التحكم في الإصدار قادر بسهولة على التعامل مع موقع php الخاص بك.

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


البرنامج المساعد GRASS-GDAL

يرجى ملاحظة أن تثبيت الإضافات يمكن أن يتم بسهولة باستخدام مدير g.extension. تعليمات التجميع أدناه تهدف إلى تطوير الذات.

الوحدات المترجمة

هذه هي الطريقة العامة التي تعمل مع وحدات C بالإضافة إلى البرامج النصية (وحدات Python أو Shell / Bash) التي تحتوي على وثائق HTML.

يجب أن تأتي كل وحدة من الوحدات الإضافية مع ملف Makefile. لتجميعها ، ما عليك سوى تشغيل:

نلاحظ أن / المسار / إلى / العشب 64 يجب أن تكون مطلقة وليست نسبية.

إذا كنت تستخدم Bash ، فقد يكون من المفيد إعداد ذلك كاسم مستعار:

التثبيت (ربما يتطلب "sudo"):

ملاحظة: قد تتطلب الوظائف الإضافية المجمعة إعادة تجميع إذا قمت بتغيير / تحديث ثنائيات GRASS القياسية.

إذا كان الملف الثنائي يأتي مع حزمة -dev

(العمل قيد التقدم ، يوضح هذا النص كيف سيكون الأمر في النهاية & # 160 :) في الوقت الحاضر لا يحتاج المرء إلى الكود المصدري ، ولا يقوم بتجميع GRASS بنفسه ليتمكن من إضافة الوظائف الإضافية. على دبيان ، يمكنك فقط تثبيت حزمة grass-dev ثم تشغيل:

توفر حزمة تطوير العشب بشكل أساسي GRASS يشمل ملفات الرأس وإنشاء ملفات التكوين.

نصوص

إذا كانت الوحدة الإضافية عبارة عن برنامج نصي ، فيكفي نسخها في مسار (GRASS binaries) في مكان ما. بدلاً من ذلك ، قم بتثبيت الإضافات في دليل منفصل للثنائيات / البرامج النصية لـ GRASS والذي يسهل صيانته. إنه يتجنب التعرض للضرب في كل مرة تقوم فيها بإعادة تثبيت GRASS. لاستخدام هذه البرامج النصية المخزنة بشكل منفصل ، قم بتعيين وتصدير متغير البيئة GRASS_ADDON_PATH قبل بدء GRASS وستتم إضافته تلقائيًا إلى مسار بحث الوحدة (انظر صفحة تعليمات المتغيرات). لتبسيط ذلك ، افعل على سبيل المثال:

تأكد من أن البرنامج النصي قابل للتنفيذ ، ثم اتصل به في GRASS بكتابة اسم الملف. يجب استدعاء نصوص Python كتابة الامتداد أيضًا ، مثل:


شاهد الفيديو: QGIS and GPS