المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : حساب المساحات للخرائط الراستر



علي محمد محمد
11-26-2007, 08:17 PM
السلام عليكم ... كيف احوالكم وكل عام وانتم بخير
اريد ان اعرف كيف يتم حساب المساحات داخل الخرائط الراستر في برنامج ArcGIS ارجو سرعة الرد لحاجتي الشديدة لحساب مساحات داخل خرائط راستر مصنوعة بواسطة برنامج الارك عن طريق ال interpolation
تقبلو وافر تحاتي

بسام روق
11-26-2007, 09:08 PM
السلام عليكم ورحمة الله وبركاته
اعتقد انه لازم تحويل الصورة Raster الى vector عن طريق ال digitizing بعدين بتحسب المساحة
عندي سؤال خاص الك لسه ما داب السكر بالكاسة
و شكراً

علي محمد محمد
11-26-2007, 09:37 PM
نعم يمكننى تحويل الخريطة من راستر الى فيتشر مباشرا عن طريق الامر convert من spatial analyst ولكن بعد ذلك ما هو الامر الذي يمكن ان يقيس مساحات ااكد مساحات وليس مسافات في ArcGIS 9.2
بالنسبة لموضوع الشاي فالسكر عندنا ردىء يحتاج الى وقت حتى يدوب :) (امزح)

بسام روق
11-26-2007, 10:19 PM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
Click Editor on the Editor toolbar and click Start Editing.

You can make calculations without being in an editing session; however, in that case, there is no way to undo the results.

Right-click the shapefile layer you want to edit and click Open Attribute Table.

Right-click the field heading for area and click Calculate Values.

If there is no field for area values, you can add a new field for area by clicking the Options button and selecting Add Field. However, to add a new field, you need to exit the editing session.

Check Advanced.

Type the following VBA statement in the first text box:


Dim dblArea as double
Dim pArea as IArea
Set pArea = [shape]
dblArea = pArea.area




Type the variable dblArea in the text box directly under the area field name.

Click OK.

د. علي الغامدي
11-27-2007, 12:33 AM
يمكن عمل حسابات عديدة جداً على الخرائط الخلوية أحدها ما يعرف بالوظائف النطاقية Zonal Functions، وفي الآرك جي أي إس يمكن عمل عمليات إحصائية نطاقية مثل المتوسط والمجموع وغيرها، يتطلب ذلك وجود قناع خطي Mask للمناطق التي تريد أن تعمل لها حسابات، ستجد ذلك في المحلل المكاني Spatial Analyst، وسترى شرح ذلك في ملف المساعدة للبرنامج. وهناك طريقة أخرى دون حاجة إلى قناع وذلك في حالة وجود اقاليم واضحة في خريطتك، وهذا يستلزم أن تجري عملية إعادة تصنيف لقيم الخريطة الخلوية الأصلية بحيث تقول مثلاً: قيمة (1 ) لقيم الارتفاع بين 100 و 200 ، وقيمة (2 ) لقيم الارتفاع بين 201 و 300، ... وهكذا. هنا تحسب مباشرة باستخدام عمليات الوظائف النطاقية zonal Area، وسوف سنتج لديك خريطة تجد فيها المساحة الخاصة بكل إقليم موقعة على كل الخلايا المرتبطة بهذا الإقليم أو النطاق Zone. ستجد ذلك موضحاً على الخريطة المُخرجة بعد عملية الحساب وستجد القيم ايضاً في جدول الصفات لهذه الخريطة الجديدة. لكن تأكد أن Zone Area أو Zonal Area موجودة في أدوات التحليل الخلوي في Arctools.

عسى أن يكون ذلك مفيدا.

جمعة داود
11-27-2007, 02:05 PM
اذا كنت قد قمت فعلا بتحويل الخريطة الي النوع الخطي Vector فاليك الحل:

هناك أداه من صندوق الادوات Arc ToolBox تستطيع حساب المساحات مباشرة وهي موجودة تحت Utilities تحت Spatial Statsitis Tools واسمها Calculate Areas وعند تنفيذها ما عليك الا تحديد اسم الطبقة الاصلية Input Feature Class وتحديد اسم للطبقة الجديدة Output Feature Class وهي الطبقة التي سيكون بقاعدة بياناتها Attribute Table عمود جديد به مساحة كل مضلع من المضلعات الموجودة في الطبقة الاصلية.

لا تنسي أن تقوم أولا بتحديد نظام الاحداثيات ويفضل أن يكون من النوع المتري مثل UTM لان المساحات المحسوبة ستكون بتفس الوحدات المستخدمة في الطبقة الاصلية وبالطبع فأنك لا تريد أن تكون هذه المساحات بالدرجات مثلا !!

والله أعلي و أعلم

محمد السيد إبراهيم
11-28-2007, 12:48 AM
السلام عليكم و رحمة الله و بركاته....

اذا كنت تقصد أن تحسب مساحة طبقة الراستر كمساحة كلية ، فإنك لا تحتاج إلى تحويلها إلى (Vector) فذلك يتطلب وقت في التحويل أو الحساب و لكن من الممكن عمل ذلك مباشرة كما يلي :

1 - معرفة العدد الكلي للخلايا (Total number of cells) في طبقة الراستر و ذلك بعمل (Statistics) على حقل (Count) من داخل جدول بيانات الراستر ، و يكون العدد الكلي هو المكتوب في خانة (Sum) :
http://www.gisclub.net/vb/uploaded/3078_1196199251.jpg
http://www.gisclub.net/vb/uploaded/3078_1196199285.jpg
2 - معرفة طول و عرض الخلية الواحدة: (Cell size) و ذلك بعرض خصائص طبقة الراستر (Properties) عن طريق الضغط على الطبقة بالزر الأيمن للماوس ثم اختيار (Properties) و يتم الحصول على الطول و العرض من :

http://www.gisclub.net/vb/uploaded/3078_1196199407.jpg

و بالتالي تكون المساحة الكلية للطبقة = الطول * العرض * العدد الكلي

جزاك الله خيرا..................:)

ندى صالح
11-28-2007, 07:12 PM
السلام عليكم ورحمة الله وبركاته.
شكرا لك اخي محمد على هذا التوضيح المفيد حقا فقط ارجو اعادة كتابة مشاركتك هذه ليتسنا لي قرأتها جيدا لان نصف الكلام والصور مقطوعه لعرض مساحة المشاركة ولا اعرف لماذا
ولك مني جزيل الشكر والامتنان

محمد السيد إبراهيم
11-28-2007, 11:07 PM
السلام عليكم ورحمة الله وبركاته.......

جزاكم الله خيرا كثيرا على إهتمامكم، و هذا هو الرد مرة آخرى:

اذا كنت تقصد أن تحسب مساحة طبقة الراستر كمساحة كلية ،
فإنك لا تحتاج إلى تحويلها إلى (Vector) فذلك يتطلب وقت في التحويل أو الحساب
و لكن من الممكن عمل ذلك مباشرة كما يلي :

1 - معرفة العدد الكلي للخلايا (Total number of cells) في طبقة الراستر
و ذلك بعمل (Statistics) على حقل (Count) من داخل جدول بيانات الراستر ،
و يكون العدد الكلي هو المكتوب في خانة (Sum) :

http://www.gisclub.net/vb/uploaded/3078_1196280250.jpg

http://www.gisclub.net/vb/uploaded/3078_1196280271.jpg

2 - معرفة طول و عرض الخلية الواحدة: (Cell size) و ذلك بعرض خصائص طبقة الراستر (Properties)
عن طريق الضغط على الطبقة بالزر الأيمن للماوس ثم اختيار (Properties)
و يتم الحصول على الطول و العرض من :

http://www.gisclub.net/vb/uploaded/3078_1196280295.jpg


و بالتالي تكون المساحة الكلية للطبقة = الطول * العرض * العدد الكلي

جزاك الله خيرا..................:)

ندى صالح
11-28-2007, 11:49 PM
السلام عليكم ورحمة الله وبركاته
جزاك الله كل الخير اخي العزيز وعلى هذه الاستجابه السريعه وفقك الله لكل ما يحب ويرضى
دمت في امان الله

علي محمد محمد
11-30-2007, 02:38 AM
شكرا جزيلا لكل من ساهم في ذلك التوضيح الهام وعذرا لبطيء ردي حيث كنت اتابع كل رد باهتمام بالغ نظرا لأهمية الموضوع . فقد اوكل الي عمل 60 خريطة لبعض المناطق في توشكي توضح الخصائص المختلفة والمتعلقة بخصوبة التربة لوضع تصور عام نحو ادارتها. وبالفعل فقد قمت بانشاء تلك الخرائط بعد اجراء كافة التحاليل اللازمة من خصائص التربة المختلفة وتم عمل ايضا خرائط القرار من خلال weighted overlay اعتمادا علي معامل الاختلاف coefficient of variation ولكن قد قمت عمل ذلك باسقاط جغرافي وليس UTM ومشاركة الدكتور جمعة كانت رائعة وواضحة ولكنى لن استطيع عمل 60 خريطة مرة اخري خاصا اننى خارج من عملية الليزك حديثا . وقد انطلب مؤخرا معرفة مساحة كل نطاق من النطاقات الموضحة علي الخريطة .فاليكم ما قمت بعمله بمساعدتكم وكما يقال الحاجة ام الاختراع. فكل منطقة معروف المساحة الكليه لها لانها اما مربعة الشكل او مستطيلة وليس صعب ايجاد المساحة الكلية ولكن مساحة التوزيعات الداخلية كانت مشكلة عصيبة. المهم قد قمت بعمل reclassify من spatial analystللطبقة المراد ايجاد مساحة التوزيعات داخلها . ومن ثم عند فتح attribute table لتلك الخريطة فنجد ان هناك عمود جديد قد اضيف يسمى count ويحوي علي ارقاما لكل توزيع وهي علي ما يبدو عدد الخلايا لكل نطاق من النطاقات ولكن لا اعرف مساحة تلك الخلية لانه بالطبع الاسقاط جغرافي . المهم مجموع تلك الارقام هي 100 % من العدد الكلي للخلايا في الخريطة وكل نطاق هو نسبة معينة من القيمة الكلية مثلا 50% 30 % 20 % فقمت بحساب النسبة المئوية لكل نطاق ثم ارجعت تلك النسبة المئوية الى المساحة الكلية المعروفة وبذلك قد تحصلت علي مساحة كل نطاق بالظبط كما اريد (بالفدان) وقدكانت النتائج منطقية للغاية وقمت بتصميم اكسيل بسيط ما علي الى ان اكتب الارقام من count فيظهر مباشرا القيمة بالمساحة. ولكن في المرات المقبلة سوف انتبه الى ان يكون الاسقاط UTM .
مرة اخرى اشكر كل من ساهم بالتوضيح

ندى صالح
11-30-2007, 07:18 PM
شـــــــــــــــــــكرا لك يا علي