GISarabia.org

أول استعلام مكاني في PostGIS: من الجدول إلى الخريطة

أنشئ جدولًا مكانيًا، وأضف نقاطًا، واحسب المسافات، ثم اعرض النتيجة في QGIS، في أقل من عشرة أسطر SQL.

10 أكتوبر 2026قراءة 1 دGISarabiaPostGISSQLQGIS

إن كانت لديك قاعدة PostgreSQL مثبتة، فأنت على بعد أمر واحد من قاعدة بيانات مكانية.

1. فعّل الامتداد

CREATE EXTENSION IF NOT EXISTS postgis;
SELECT postgis_full_version();

2. أنشئ جدولًا بعمود هندسي

CREATE TABLE places (
  id   serial PRIMARY KEY,
  name text,
  geom geometry(Point, 4326)
);

الرقم 4326 هو رمز نظام الإحداثيات WGS 84 (خطوط الطول والعرض).

3. أضف بعض النقاط

INSERT INTO places (name, geom) VALUES
  ('أ', ST_SetSRID(ST_MakePoint(35.50, 33.89), 4326)),
  ('ب', ST_SetSRID(ST_MakePoint(36.29, 33.51), 4326)),
  ('ج', ST_SetSRID(ST_MakePoint(35.93, 31.95), 4326));

لاحظ الترتيب: خط الطول أولًا ثم خط العرض (x ثم y).

4. احسب المسافات بالكيلومترات

SELECT a.name, b.name,
       round((ST_Distance(a.geom::geography, b.geom::geography) / 1000)::numeric, 1) AS km
FROM places a JOIN places b ON a.id < b.id
ORDER BY km;

التحويل إلى geography يجعل PostGIS يحسب المسافة على سطح الأرض بالأمتار، بدل الدرجات.

5. اعرض الجدول في QGIS

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

إلى أين بعد ذلك؟

→ كل المقالاتRSS