أكثر

احسب المسافة بين النقطة والخط المستقيم وكيفية تمثيل ذلك على QGIS؟

احسب المسافة بين النقطة والخط المستقيم وكيفية تمثيل ذلك على QGIS؟


لقد قمت بتحميل بياناتي باستخدام osm2pgrouting ولدي شبكتي مع طرق (Linestring) وعقد (Point). المشكلة هي: لدي قاعدة بيانات لعناوين الأطباء (نقطة) ويجب أن أحسب المسافة بين هذه النقاط وطريقي (Linestring).

: 1

أنا أستخدم الاستعلام التالي:

حدد ST_Distance (ST_GeomFromText ('POINT (55.4504545699355 -20.8752577759738)' ، 4326) ، ST_GeomFromText ('LINESTRING (55.4748349 -27.1342723 ، 55.4747091 -21.1338699)' ، 4326)) مثل ST_DISTANCE ؛

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

اي مساعدة او نصيحة؟


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

من عدة طبقات من الأمثلة التي أملكها ، يمكنك الحصول على شيء مثل هذا:

ثم عندما تفتح جدول السمات لطبقة الإخراج ، ستحصل على الامتداد HubName و HubDist في أي مقياس قياس حددته (في حالتي ، الأمتار). أتمنى أن يساعدك هذا.


باستخدام QGIS 2.16 ، يمكنك استخدام v.net.connect في صندوق أدوات المعالجة.

هذا يربط النقاط بأقرب خط لإنشاء شبكة.

افتح مربع أدوات المعالجة وابحث عن v.net.connect

ضبط الخصائص. يمكنك زيادة الحد الأقصى لتعيين المسافة القصوى للبحث عن الاتصال.

النتائج: قبل

و بعد

الآن يمكنك تصفية الخطوط الجديدة وحساب المسافة


قراءة gis.stakexchange_same_question هذا البرنامج النصي متاح هنا: https://github.com/tomflyjc/Closest_point


شاهد الفيديو: معادلة الخط المستقيم - الصف التاسع