24.1.4. قاعدة البيانات¶
24.1.4.1. التصدير إلى PostgreSQL¶
تصدّر طبقة متجهية إلى قاعدة بيانات PostgreSQL، وتنشئ علاقة (relation) جديدة. إذا وُجدت علاقة بالاسم نفسه، فيمكن حذفها قبل إنشاء العلاقة الجديدة. يجب قبل ذلك إنشاء اتصال بين QGIS وقاعدة بيانات PostgreSQL (انظر مثلًا إنشاء اتصال مخزَّن).
المعاملات¶
Label |
اﻷسم |
النوع |
وصف |
|---|---|---|---|
الطبقة المراد استيرادها |
|
[vector: any] |
الطبقة المتجهية المراد إضافتها إلى قاعدة البيانات |
قاعدة البيانات (اسم الاتصال) |
|
[string] |
اسم اتصال قاعدة البيانات (وليس اسم قاعدة البيانات). ستظهر الاتصالات الموجودة في القائمة المنسدلة. |
المخطط (اسم المخطط) اختياري |
|
[string] القيمة الافتراضية: 'public' |
اسم المخطط (schema) الذي ستُخزَّن فيه البيانات. يمكن أن يكون مخططًا جديدًا أو موجودًا مسبقًا. |
الجدول المراد الاستيراد إليه (اتركه فارغًا لاستخدام اسم الطبقة) اختياري |
|
[string] القيمة الافتراضية: '' |
يحدد اسم الجدول للملف المتجهي المستورد. إذا لم يُضَف شيء، فسيُستخدم اسم الطبقة. |
حقل المفتاح الأساسي اختياري |
|
[tablefield: any] |
يعيّن حقل المفتاح الأساسي من حقل موجود في الطبقة المتجهية. يمكن استخدام عمود ذي قيم فريدة مفتاحًا أساسيًا لقاعدة البيانات. |
عمود الشكل الهندسي |
|
[string] القيمة الافتراضية: 'geom' |
يحدد اسم عمود الشكل الهندسي في جدول PostgreSQL الجديد. تُخزَّن معلومات الأشكال الهندسية للمعالم في هذا العمود. |
الترميز اختياري |
|
[string] القيمة الافتراضية: 'UTF-8' |
يحدد ترميز طبقة المخرجات |
الكتابة فوق الموجود |
|
[boolean] القيمة الافتراضية: True |
إذا كان الجدول المحدد موجودًا، فإن تعيين هذا الخيار إلى |
إنشاء فهرس مكاني |
|
[boolean] القيمة الافتراضية: True |
يحدد ما إذا كان سيُنشأ فهرس مكاني أم لا |
تحويل أسماء الحقول إلى أحرف صغيرة |
|
[boolean] القيمة الافتراضية: True |
يحوّل أسماء حقول طبقة الإدخال المتجهية إلى أحرف صغيرة |
إزالة قيد الطول على الحقول النصية |
|
[boolean] القيمة الافتراضية: False |
هل يجب إزالة قيود الطول على الحقول النصية أم لا |
إنشاء أشكال هندسية أحادية الجزء بدلًا من متعددة الأجزاء |
|
[boolean] القيمة الافتراضية: False |
هل يجب أن تكون معالم طبقة المخرجات أحادية الجزء بدلًا من متعددة الأجزاء. تُحفَظ معلومات الأشكال الهندسية الموجودة افتراضيًا. |
المخرجات¶
لا تُنتج الخوارزمية أي مخرجات.
شيفرة Python¶
معرّف الخوارزمية: native:importintopostgis
import processing
processing.run("algorithm_id", {parameter_dictionary})
يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.
24.1.4.2. التصدير إلى SpatiaLite¶
تصدّر طبقة متجهية إلى قاعدة بيانات SpatiaLite. يجب قبل ذلك إنشاء اتصال بين QGIS وقاعدة بيانات SpatiaLite (انظر مثلًا طبقات SpatiaLite).
المعاملات¶
Label |
اﻷسم |
النوع |
وصف |
|---|---|---|---|
الطبقة المراد استيرادها |
|
[vector: any] |
الطبقة المتجهية المراد إضافتها إلى قاعدة البيانات |
ملف قاعدة البيانات |
|
[vector: any] |
ملف قاعدة بيانات SQLite/SpatiaLite المراد الاتصال به |
الجدول المراد الاستيراد إليه (اتركه فارغًا لاستخدام اسم الطبقة) اختياري |
|
[string] القيمة الافتراضية: '' |
يحدد اسم الجدول للملف المتجهي المستورد. إذا لم يُحدَّد شيء، فسيُستخدم اسم الطبقة. |
حقل المفتاح الأساسي اختياري |
|
[tablefield: any] |
استخدام حقل من طبقة الإدخال المتجهية مفتاحًا أساسيًا |
عمود الشكل الهندسي |
|
[string] القيمة الافتراضية: 'geom' |
يحدد اسم عمود الشكل الهندسي في جدول SpatiaLite الجديد. تُخزَّن معلومات الأشكال الهندسية للمعالم في هذا العمود. |
الترميز اختياري |
|
[string] القيمة الافتراضية: 'UTF-8' |
يحدد ترميز طبقة المخرجات |
الكتابة فوق الموجود |
|
[boolean] القيمة الافتراضية: True |
إذا كان الجدول المحدد موجودًا، فإن تعيين هذا الخيار إلى |
إنشاء فهرس مكاني |
|
[boolean] القيمة الافتراضية: True |
يحدد ما إذا كان سيُنشأ فهرس مكاني أم لا |
تحويل أسماء الحقول إلى أحرف صغيرة |
|
[boolean] القيمة الافتراضية: True |
تحويل أسماء حقول طبقة الإدخال المتجهية إلى أحرف صغيرة |
إزالة قيد الطول على الحقول النصية |
|
[boolean] القيمة الافتراضية: False |
هل يجب إزالة قيود الطول على الحقول النصية أم لا |
إنشاء أشكال هندسية أحادية الجزء بدلًا من متعددة الأجزاء |
|
[boolean] القيمة الافتراضية: False |
هل يجب أن تكون معالم طبقة المخرجات أحادية الجزء بدلًا من متعددة الأجزاء. تُحفَظ معلومات الأشكال الهندسية الموجودة افتراضيًا. |
المخرجات¶
لا تُنتج الخوارزمية أي مخرجات.
شيفرة Python¶
معرّف الخوارزمية: native:importintospatialite
import processing
processing.run("algorithm_id", {parameter_dictionary})
يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.
24.1.4.3. تحزيم الطبقات¶
تضيف طبقات إلى ملف GeoPackage.
إذا كان ملف GeoPackage موجودًا وكان الخيار Overwrite existing GeoPackage محددًا، فستتم الكتابة فوقه (يُحذف ويُعاد إنشاؤه). وإذا كان ملف GeoPackage موجودًا والخيار Overwrite existing GeoPackage غير محدد، فستُلحق الطبقة به.
المعاملات¶
Label |
اﻷسم |
النوع |
وصف |
|---|---|---|---|
طبقات الإدخال |
|
[vector: any] [list] |
الطبقات (المتجهية) المراد استيرادها إلى ملف GeoPackage. الطبقات الشبكية غير مدعومة. إذا أُضيفت طبقة شبكية، فسيُطلق الاستثناء |
الكتابة فوق ملف GeoPackage الموجود |
|
[boolean] القيمة الافتراضية: False |
إذا كان ملف GeoPackage المحدد موجودًا، فإن تعيين هذا الخيار إلى |
حفظ أنماط الطبقات في ملف GeoPackage |
|
[boolean] القيمة الافتراضية: True |
حفظ أنماط الطبقات. |
حفظ المعالم المحددة فقط |
|
[boolean] القيمة الافتراضية: False |
إذا كانت في الطبقة معالم محددة، فإن تعيين هذا الخيار إلى |
تصدير الطبقات المرتبطة وفق العلاقات المعرّفة في المشروع |
|
[boolean] القيمة الافتراضية: False |
إذا كانت لطبقة الإدخال علاقات معيّنة في المشروع، فإن تعيين هذا الخيار إلى |
ملف GeoPackage الوجهة |
|
[file] القيمة الافتراضية: |
حدد مكان تخزين ملف GeoPackage. أحد الخيارات:
|
المخرجات¶
Label |
اﻷسم |
النوع |
وصف |
|---|---|---|---|
الطبقات داخل الحزمة الجديدة |
|
[string] [list] |
قائمة الطبقات المضافة إلى ملف GeoPackage. |
شيفرة Python¶
معرّف الخوارزمية: native:package
import processing
processing.run("algorithm_id", {parameter_dictionary})
يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.
24.1.4.4. تنفيذ SQL وتحميله في PostgreSQL¶
تتيح تنفيذ استعلام قاعدة بيانات SQL على قاعدة بيانات PostgreSQL متصلة بـ QGIS وتحميل النتيجة. لن تنشئ الخوارزمية طبقة جديدة: فهي مصممة لتشغيل الاستعلامات على الطبقة نفسها.
مثال
تعيين جميع قيم حقل موجود إلى قيمة ثابتة. ستكون سلسلة استعلام SQL:
UPDATE your_table SET field_to_update=20;
في المثال أعلاه، ستُعيَّن جميع قيم الحقل
field_to_updateفي الجدولyour_tableإلى20.إنشاء عمود جديد
areaوحساب مساحة كل معلم باستخدام دالة PostGISST_AREA.-- Create the new column "area" on the table your_table" ALTER TABLE your_table ADD COLUMN area double precision; -- Update the "area" column and calculate the area of each feature: UPDATE your_table SET area=ST_AREA(geom);
شاهد أيضا
المعاملات¶
Label |
اﻷسم |
النوع |
وصف |
|---|---|---|---|
قاعدة البيانات (اسم الاتصال) |
|
[string] |
اتصال قاعدة البيانات (وليس اسم قاعدة البيانات). ستظهر الاتصالات الموجودة في القائمة المنسدلة. |
استعلام SQL |
|
[string] |
يحدد استعلام SQL، مثلًا |
اسم حقل المعرّف الفريد |
|
[string] القيمة الافتراضية: id |
يعيّن حقل المفتاح الأساسي (عمود في جدول النتيجة) |
اسم حقل الشكل الهندسي اختياري |
|
[string] القيمة الافتراضية: 'geom' |
اسم عمود الشكل الهندسي (عمود في جدول النتيجة) |
المخرجات¶
Label |
اﻷسم |
النوع |
وصف |
|---|---|---|---|
طبقة SQL |
|
[vector: any] |
الطبقة المتجهية الناتجة المراد تحميلها في QGIS. |
شيفرة Python¶
معرّف الخوارزمية: qgis:postgisexecuteandloadsql
import processing
processing.run("algorithm_id", {parameter_dictionary})
يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.
24.1.4.5. تنفيذ SQL في PostgreSQL¶
تتيح تنفيذ استعلام قاعدة بيانات SQL على قاعدة بيانات PostgreSQL متصلة بـ QGIS. لن تنشئ الخوارزمية طبقة جديدة: فهي مصممة لتشغيل الاستعلامات على الطبقة نفسها.
مثال
تعيين جميع قيم حقل موجود إلى قيمة ثابتة. ستكون سلسلة استعلام SQL:
UPDATE your_table SET field_to_update=20;
في المثال أعلاه، ستُعيَّن جميع قيم الحقل
field_to_updateفي الجدولyour_tableإلى20.إنشاء عمود جديد
areaوحساب مساحة كل معلم باستخدام دالة PostGISST_AREA.-- Create the new column "area" on the table your_table" ALTER TABLE your_table ADD COLUMN area double precision; -- Update the "area" column and calculate the area of each feature: UPDATE your_table SET area=ST_AREA(geom);
المعاملات¶
Label |
اﻷسم |
النوع |
وصف |
|---|---|---|---|
قاعدة البيانات (اسم الاتصال) |
|
[string] |
اتصال قاعدة البيانات (وليس اسم قاعدة البيانات). ستظهر الاتصالات الموجودة في القائمة المنسدلة. |
استعلام SQL |
|
[string] |
يحدد استعلام SQL، مثلًا |
المخرجات¶
لا تُنشأ أي مخرجات. يُنفَّذ استعلام SQL في مكانه.
شيفرة Python¶
معرّف الخوارزمية: native:postgisexecutesql
import processing
processing.run("algorithm_id", {parameter_dictionary})
يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.
24.1.4.6. تنفيذ SQL في SpatiaLite¶
تتيح تنفيذ استعلام قاعدة بيانات SQL على قاعدة بيانات SpatiaLite. تُحدَّد قاعدة البيانات بواسطة طبقة إدخال أو ملف. لن تنشئ الخوارزمية طبقة جديدة: فهي مصممة لتشغيل الاستعلامات على الطبقة نفسها.
شاهد أيضا
تنفيذ SQL في PostgreSQL, تنفيذ SQL
لبعض أمثلة استعلامات SQL انظر أمثلة استعلامات PostgreSQL.
المعاملات¶
Label |
اﻷسم |
النوع |
وصف |
|---|---|---|---|
طبقة قاعدة البيانات (أو ملف) |
|
[file] |
ملف قاعدة بيانات SQLite/SpatiaLite المراد الاتصال به |
استعلام SQL |
|
[string] القيمة الافتراضية: '' |
يحدد استعلام SQL، مثلًا |
المخرجات¶
لا تُنشأ أي مخرجات. يُنفَّذ استعلام SQL في مكانه.
شيفرة Python¶
معرّف الخوارزمية: native:spatialiteexecutesql
import processing
processing.run("algorithm_id", {parameter_dictionary})
يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.
24.1.4.7. تنفيذ SQL في SpatiaLite (قاعدة بيانات مسجّلة)¶
تتيح تنفيذ استعلام قاعدة بيانات SQL على قاعدة بيانات SpatiaLite متصلة بـ QGIS. لن تنشئ الخوارزمية طبقة جديدة: فهي مصممة لتشغيل الاستعلامات على الطبقة نفسها.
شاهد أيضا
تنفيذ SQL في PostgreSQL, تنفيذ SQL
لبعض أمثلة استعلامات SQL انظر أمثلة استعلامات PostgreSQL.
المعاملات¶
Label |
اﻷسم |
النوع |
وصف |
|---|---|---|---|
قاعدة البيانات |
|
[enumeration] القيمة الافتراضية: غير معيّنة |
اختر قاعدة بيانات SQLite/SpatiaLite متصلة بالجلسة الحالية |
استعلام SQL |
|
[string] القيمة الافتراضية: '' |
يحدد استعلام SQL، مثلًا |
المخرجات¶
لا تُنشأ أي مخرجات. يُنفَّذ استعلام SQL في مكانه.
شيفرة Python¶
معرّف الخوارزمية: native:spatialiteexecutesqlregistered
import processing
processing.run("algorithm_id", {parameter_dictionary})
يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.