السلام عليكم
السؤال الذي اطرحه هل يمكن تحويل مجموعة خطوط (كل خط يحوي نقاط عديدة اي اكثر من نقطتين) الى خطوط تحوي نقطتين (نقطة البداية ونقطة النهاية)
عرض للطباعة
السلام عليكم
السؤال الذي اطرحه هل يمكن تحويل مجموعة خطوط (كل خط يحوي نقاط عديدة اي اكثر من نقطتين) الى خطوط تحوي نقطتين (نقطة البداية ونقطة النهاية)
دبل كللك على الخط سوف تضهر vertex المكونة للخط نقف على vertex و R.C نختار Delete vertex
في برنامج ArcGIS ومن خلال ArcToolBox يوجد عملية اسمها Simplify Line تقوم بهذا الغرض.
الأخ السائل
يستخدم الحاسوب نظام رياضي معقد لتمثيل الـ Graphics بغض النظر عن موضوع الـ Graphics نفسه هل هو خريطة في نظام معلومات جغرافي أم طبقة في برنامج GIMP. عند رسم الخطوط فإن رسم الخط الواصل بين نقطيتين مباشرة والذي يظهر في الصورة المستقيمة التقليدية يستلزم استخدام طريقة بسيطة للرسم تسمى First Order Interpolated Line، وقد يظهر الخط في صورة قوس Arc ويمر بذات النقطيتن وينظر له الحاسوب ايضاً كخط لكن يستخدك طريقة رسم أخرى هي Second Order Interpolated Line، وكلما ازادات درجة الـ Interpolation كلما زاد تعقد الشكل وزادت إمكانية مروره بأكثر من نقطة. لكن في كثير من الأحوال يعجز الـ Interpolator على المرور بكل النقط لذلك تجده يمر ببعض النقط ويمر إلى جانب بعض النقط الأخرى، وتقدر كفاءه الـ Interpolator بمدى اقتراب الخط الذي يرسمه من النقط المقدر مروره بها.
الأداة التي ذكرها الأخ حمود في ArcGIS تقوم بهذه العملية، وتستخدم interpolator ذي درجة عالية، لذلك فإن الخط الناتج عن عملية الـ Simplifying لا يمر تمام المرور بجميع النقاط للخط الأصلي.
إذا أردت الوقوف على المزيد من المعلومات بشأن تمثيل الرسوم حاسوبياً يمكنك الرجوع إلى كتاب Spatial Data Types for Database Systems لمؤلفه ماركوس شنايدر Markus Sneider وهو من أقيم الكتب في هذا المجال بالرغم أنه قد طبع منذ نحو عشرة أعوام.
تقبل تحياتي
جزاكم الله خير الجزاء
الدكتور وسام :أي انك لا تنصح باستخدام طريقة الاستاذ محمد حمود أليس كذلك ...
وهل اذا استخدمناها تتغير امكنه النقاط المؤلفة للخط
السلام عليكم
ان الغاية من السؤال هو ان هناك طرق لتحديد الخطيات اوتوماتيكيا لكن المشكلة هي ان الخطوط الناتجة تتكون من اكثر من نقطتين وهذا يعيق الحساب الروزي فلذا يجب تحويل هذه الخطوط الى خطوط مزدوجة النقط ولكن مع الاسف جربت ما تفضل به الاخ حمود والنتيجة لم تكن كما اشار او كما تمنيت فمن كان له زيادة علم فليتحفنا وله الاجر
هنالك طريقة اخرى عبر الاوتوكاد ...
حول كل عملك الخطي على شكل dxf ومن ثم ومن خلال الاوتوكاد اكتب في سطر الاوامر ped وعلم كل الخطوط ومن ثم انتر وبالتالي تصبح كل الخطوط مؤلفة من خط بداية ونهاية
او جرب واكتب الامر ايضا الأمر BPOLY واختصار هو bo
والامر الاول ped هو اختصار ل PEDIT
جزاك الله كل خير ساحاول والله المستعان
لم اقل أنني لا أنصح باستخدام طريقة الآستاذ حمود
فهذه الأداة Simplify Line إلى جانب الأداة Smooth Line لها الكثير من الاستخدامات المفيدة، على سبيل المثال استخدمها شخصياً كي أجعل خطوط الكونتور المتولدة من نموذج ارتفاعات رقمي ذات شكل أفضل.
السلام عليكم
ارجو ان يتفضل احد الاساتذة باععانتي في تحويل الخط المتعدد النقاط الى خط ذو نقطتين باستخدام الارك جي اي اس علما ان النصيحة التي افادني فيها الاخ محمد حمود لم تعني في عملي مع امتناني لكل من اعان وابدى رأيه
أخي العزيز رسلان
لا يتيح ArcGIS إلا الطريقة التي ذكرها الأخ حمود وطريق أخرى هي Line Smoothing، وإذا كان الخط حاصتك كثير التعريج لن يمكنك أبدا أن تحوله إلى خط ذي نقطتين وتحافظ على شكله.
السلام عليكم الدكتور وسام
اذا ..اذا لم يكن هنالك اي طريقة من خلال arcgis ..فالطريقة الوحيدة هي اعادة تحميل طبقة الخطوط وذلك بعد اجراء تحويل الخطوط عبر برنامج الاوتوكاد ..ومهما كان الخط يحوي عدة قمم vertex ومهما كان يحوي انحناءات فان طريقتي من خلال الاوتوكاد هي عالية الدقة ويبقى الخط محافظا على علاقات التوبولوجي
سؤال: ماذا لو أن هناك بيانات وصفية Atrributes لهذه الطبقة؟ إذا ذهبت إلى AutoCad ضاعت كل الـ Attributes...
بعد انقطاع عن المشاركة يسعدني البدء هنا في هذا المجال بحكم تخصصي في التعميم الخرائطي الآلي
فأولا تحية للجميع وتقبل الله طاعتكم وغفر لنا ولكم
طريقة تبسيط الخطوط في ArcGIS هي طريقة دوكلاس وبويكر وتعد أفضل الطرق تقريبا لحد الآن وهي معنية بحذف النقاط غير المهمة
والإبقاء على المهم منها من وجهة نظر هندسية، وهي طريقة لا تعتمد على معادلة تعدد الحدود ولا علاقة لها بذلك، وإنما تعتمد على فترة معينة Tolerance يحددها المستخدم وكلما زادت الفترة (قيمة بالوحدات الأرضية) زاد التبسيط.
وهذه الطريقة كل هدفها أن تحاول الإبقاء على الشكل الرئيس للخط (للظاهرة الخطية) وحذف الأجزاء غير المهمة من وجهة نظر هندسية.
وهي مقنعة من وجهة النظر الخرائطية -وهذا أهم شيء في عملية التعميم الخرائطي.
أما طريقة التبسيط بالصقل Smoothing فهي تستخدم معادلات متعددة الحدود وهي تقلل النقاط في بعض الأجزاء وتزيدها في أماكن أخرى، لذا فهي طريقة مفيدة لتحسين المظهر العام للشكل خاصة بعد عملية الترقيم بطريقة Point Mode وتستخدم في تحسين مظهر خط الكنتور أو المجرى المائي.
فائدة الطريقة الأولى أنها تقلل البيانات بدرجة كبيرة إلى درجة أن النقص يصل إلى 70 % ولا تستطيع أن تميز بالعين بين الخط الأصلي والخط المبسط، وفي هذه الحالة نستخدم فترة مدى قليلة للتخلص من أخطاء الترقيم بالذات ثم نستخدم مرة أخرى طريقة الصقل للخط الناتج المبسط لصقله ثم نستخدم طريقة التبسيط الأولى (دوغلاس-بويكر) لكن بفترة اقل للتخلص من الزيادة في النقاط التي احدثتها طريقة الصقل. بهذه الطريقة ننتج عمل خرائطي احترافي وليس الاقتصار على الترقيم فقط واعتبار ان قاعدة البيانات جاهزة.
هذا التطبيق المركب حسب هذا التسلسل يطبق على الخطوط المتعرجة فقط.
ارجو ان أكون أفدت ولا استعرضت !! كما قيل، لأن ما يهمني هو أن نعمل الخرائط على أسس صحيحة وأن اقدم معلومة يستفيد منها الجميع وليس السائل فقط.
اشكرك دكتور وسام ...
ولكن لا يمكن بناء بيانات وصفية على اساس خاطئ .لان صاحب الموضوع تكلم انه يريد جعل الخط المستقل بذاته عبارة عن عنصر feature , واحد ..فعلى سبيل المثال الخط المسقيم المشاهد عبر شاشة arcmap قد تظنه عنصر واحد ولكن بالضغط عليه عبر اداة identify تجد انه قد يتألف من عشرات features وبالتالي كل عنصر feature له بيانات وصفيه خاصه به ..
وعندما نحول ونصحح الخطوط فان قاعدة البيانات الوصفية اصبحت مشوشة وتحتاج الى ادخال يدوي من جديد ...
...........
واعرض مثالا على ذلك ..في قانون رسم الشوارع فان الشارع يرسم كمضلع مغلق وذلك لانه يعتبر عنصر واحد له اسم واحد ورمز وتاريخ بناءه وغير ذلك ...ولقلة خبرة الرسام يقوم رسم الشارع عبر الاوتوكاد مثلا على شكل خطوط بتعليمة line وبالتالي كل قفزة عبر الماوس تعبر عن عنصر منفصل عن الاخر ...
وبالتالي لا يمكن بناء قاعدة بيانات وصفية تصف هذه الشارع الا اذا حولناه الى عنصر واحد
السلام عليكم
اولا احب ان اتقدم بخالص الامتنان على جوابكم المكرم وعلى سعة صدركم
ثم اود ان اقول ان العمل الذي اقوم به هو تحديد الخطيات باستخدام برنامج الايرداس اوتوماتيكيا والغاية هو توفير في الوقت والكلف حيث ان التحديد اليدوي يتطلب اياما او شهور وان شاء الله ينشر هذا البحث في المنتدى بعد نشره في احد المجلات الرصينة
ان النتائج التي توصلت اليها هي خطوط تصل الى 21200 خط كل خط يحوي اكثر من نقطتين والغاية هو تحويل هذه الخطوط الى خطوط ثنائية النقط لغرض معاملتها ببرنامج الروك وير الذي يعتمد في عمل المخطط الروزي على خطوط ثنائية النقط ثم ان الاتربيوت الخاص سيعمل اوتوماتيكيا بعد عملية المعالجة المرام التوصل اليها وتشمل زاوية الخط مع الشمال وطول الخط واحداثيات بداية ونهاية ومنتصف الخط
المطلوب هو تحويل الخطوط متعددة النقط الى خطوط ثنائية النقط ان امكن باستخدام الارك جي اي اس والا فساضطر الى استخدام الاوتوكاد كما اشار متفضلا الاخ عبادة والله المستعان
الأخ رسلان
يمكنك استخدام طريقة Simplify (طريقة دوكلاس -بويكر) لكن ضع الفترة Tolerance كبيرة جدا وسوف يبقى نقطتين (البداية والنهاية. لكن لاحظ، إذا كان الخط الواحد مكون من أكثر من عقدتين Node فإن التبسيط في هذه الحالة سوف يقتصر على كل خط مكون من عقدتين، أي إذا كان الخط فيه ثلاث عقد وعدد من النقاط فإن التبسيط الكبير سوف يبقي على الثلاث عقد ويحذف باقي النقاط البينية. وفي هذه الحالة عليك أن تحول يدويا العقد إلى نقاط vertecies -أمر لابد منه. وتأكد من أن كل خط يحمل رمز تعريفي واحد بصفاته الخاصة به.
أما إذا كان كل خط مكون من عقدتين فقط فيمكن الاطمئنان بأن التبسيط بهذه الطريقة سيفي بالمطلوب.
جزيت خيرا
اللهم بارك لكم في علمكم