-
أبحث عن طريقة آلية لتحويل مجموعة لجداول إلى راستر
السلام عليكم ورحمة الله وبركاته
عندي قاعدة بيانات أكسس تحتوي على قرابة 300 جدول وكل جدول يحتوي على عمودين للإحداثيات وعمود فيه قيمة الهطول المطري في سنة معينة
والمطلوب تحويل كل جدول إلى راستر
أريد إنشاء سكريبت أو برنامج صغير بحيث يحول هذه الـ 300 جدول بشكل مباشر إلى 300 راستر
هل يوجد لديكم حل ؟؟
مشكورين سلف
-
رد : أبحث عن طريقة آلية لتحويل مجموعة لجداول إلى راستر
السلام عليكم ورحمة الله وبركاته
ان برنامج الماب انفو وكذلك الارك افيو يمكن بها العمل علي مجموعة كبيرة من الملفات في ان واحد فعند اجراء كل عملية يتم الضغط علي الزر شفت
وتحدبد جميع الملفات كمجموعه فتظهر جميعها باللون الازرق وبالضغط علي الزر اوكي تنفتح كل الملفات في ان واحد ..هذا لا يعني انه يمكن تحويل الداتا الي راستير في آن واحد انما ذلك يختصر الوقت والجهد الي حد كبير
والله اعلم
-
رد : أبحث عن طريقة آلية لتحويل مجموعة لجداول إلى راستر
شكراً على ردك أخي الكريم
ولكنني أحاول أن أنفذ المطلوب برمجياً وليس يدوياً وللأسف خبرتي البرمجية ضعيفة فأرجو من أصحاب الخبرة مساعدتي
-
رد : أبحث عن طريقة آلية لتحويل مجموعة لجداول إلى راستر
[align=justify]في المشاركة بعنوان: مركز GIS بجامعة هارفارد في الرابط:
http://www.gisclub.net/vb/showthread.php?t=2822
يوجد في هذا الموقع ملف بصيغة pdf يحمل لك الاجابة علي سؤالك ويشرح بالتفصيل و الصور كيف تحول جدول بيانات الي طبقة ! الشرح مع أنه بالانجليزية الا أنه بسيط و ممتع ويمكنك تنفيذه بسهوله. رابط الملف هو:
http://isites.harvard.edu/fs/docs/ic..._Shapefile.pdf
بالتوفيق
[/align]
-
رد : أبحث عن طريقة آلية لتحويل مجموعة لجداول إلى راستر
شكراً لردك الكريم د. جمعة
طريقة تحويل الجدول إلى طبقة معروفة وسهلة ولكن ما أبحث عنه هو كيفية تحويل هذه العمليات البسيطة إلى ماكرو ثم وضع هذا الماكرو ضمن حلقة For بحيث يتم تحويل الـ 300 جدول بشكل مباشر إلى طبقات
لأنني لو قمت بتنفيذ المطلوب يدوياً لإستغرق الأمر زمناً طويلاً جداً وقد لا يخلو هذا التنفيذ من أخطاء بشرية
مشكورين لردودكم القيمة
ولكنني ما زلت أبحث عن الحل
-
رد : أبحث عن طريقة آلية لتحويل مجموعة لجداول إلى راستر
الاخ الفاضل
السلام عليكم ورحمة الله
حسب علمي ان ماكرو يمكن تطبيقة علي مئات الصور ولكن يقوم بتحليل واحد فقط اي اجراء تحليل او وظيفة واحدة فقط (مثلا يمكن استخدام ماكرو لقطع منطقة الدراسة من مرئية كبيرة" اي يطبق الوظيفة windows or image subsit " ولكن لا يمكن اجراء عدة وظائف معقدة متتالية في ان واحد واحد مثلما ترغب انت... علي العموم ان لم تجد طريقة فأن العمل اليدوي لا يستغرق وقت طويل كما ضننت فهناك تسهيلات يمكن استخدامها بحيت تقوم باجراء كل خطوه مع جميع ملفاتك في ان واحد..انا عن نفسي قمت بنفس العمل مرتين مره بأستخدام الارك فيو ومره اخري بأستخدام الماب انفو مع 230 ملف في ان واحد
تمنياتي لك بالتوفيق
والسلام عليكم
-
رد : أبحث عن طريقة آلية لتحويل مجموعة لجداول إلى راستر
بسم الله الرحمن الرحيم
تحياتي أخ محمد
من خلال VBA يمكنك تنفيذ أي سلسلة من الأوامر مهما بلغت من التعقيد
من ملفات الـ Help وجدت الأكواد التالية
كود لإنشاء شيب فايل جديد
Public Function CreateShapefile(sPath As String, sName As String) As IFeatureClass ' Dont include .shp extension
' Open the folder to contain the shapefile as a workspace
Dim pFWS As IFeatureWorkspace
Dim pWorkspaceFactory As IWorkspaceFactory
Set pWorkspaceFactory = New ShapefileWorkspaceFactory
Set pFWS = pWorkspaceFactory.OpenFromFile(sPath, 0)
' Set up a simple fields collection
Dim pFields As IFields
Dim pFieldsEdit As IFieldsEdit
Set pFields = New Fields
Set pFieldsEdit = pFields
Dim pField As IField
Dim pFieldEdit As IFieldEdit
' Make the shape field
' it will need a geometry definition, with a spatial reference
Set pField = New Field
Set pFieldEdit = pField
pFieldEdit.Name = "Shape"
pFieldEdit.Type = esriFieldTypeGeometry
Dim pGeomDef As IGeometryDef
Dim pGeomDefEdit As IGeometryDefEdit
Set pGeomDef = New GeometryDef
Set pGeomDefEdit = pGeomDef
With pGeomDefEdit
.GeometryType = esriGeometryPolygon
Set .SpatialReference = New UnknownCoordinateSystem
End With
Set pFieldEdit.GeometryDef = pGeomDef
pFieldsEdit.AddField pField
' Add another miscellaneous text field
Set pField = New Field
Set pFieldEdit = pField
With pFieldEdit
.Length = 30
.Name = "MiscText"
.Type = esriFieldTypeString
End With
pFieldsEdit.AddField pField
' Create the shapefile
' (some parameters apply to geodatabase options and can be defaulted as Nothing)
Dim pFeatClass As IFeatureClass
Set pFeatClass = pFWS.CreateFeatureClass(sName, pFields, Nothing, _
Nothing, esriFTSimple, "Shape", "")
Set CreateShapefile = pFeatClass
End Function
كود لإضافة شيب فايل إلى المشروع
Public Sub AddLayerFileToMap()
Dim filePath As String
filePath = "D:\arcgis\arcexe83\ArcObjects Developer Kit\samples\data\USA\states.lyr"
Dim pGxLayer As IGxLayer
Dim pGxFile As IGxFile
Set pGxLayer = New GxLayer
Set pGxFile = pGxLayer
pGxFile.Path = filePath
Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument
pMxDoc.FocusMap.AddLayer pGxLayer.Layer
End Sub
وبالتالي يمكن تحويل أي عملية تقوم بها يدوياً ضمن ArcMap أو ArcCataloge إلى كود برمجي تنفذه بكبسة زر
من خلال تعديل الكود السابق ودمجه يمكن مثلاً إنشاء أي عدد تريد من الـ shapefiles وإضافتها إلى Arcmap بشكل آلي
والآن أنا أبحث عن الكود المقابل لأمر Add XY data
وكود لتحويل إلى راستر
وهكذا
-
رد : أبحث عن طريقة آلية لتحويل مجموعة لجداول إلى راستر
بسم الله
السلام عليكم
قد يكون الاضافة بطريقة البرنامج تأخذ وقت اقل من عمل كود
ثم فحصه ثم اضافتة البرنامج
-
رد : أبحث عن طريقة آلية لتحويل مجموعة لجداول إلى راستر
بسم الله الرحمن الرحيم
تحياتي أخ بهجت
إذا كنت تقصد أن إعداد الكود يتطلب وقت طويل ، والأفضل أن نستغل هذا الوقت في تنفيذ المطلوب يدوياً ، فهذا قد يكون صحيح
وأنا حاليأ أنفذ المطلوب مني يدوياً وهذا سيأخذ على الأقل عمل 5 أيام ولكن إذا أخذت بعين الاعتبار أن هذا العمل مطلوب تكراره كل شهر تقريباَ أي أنني سأمضي ستون يومأ في السنة أقوم بنفس العمل.
بينما في حال نجحت في إعداد برنامج يقوم بتنفيذ المطلوب آلياً فإن إعداد البرنامج وفحصه قد يستغرق 30 يومأ بالتالي أكون قد ربحت 30 يومأ في السنة و 60 يومأ في السنة القادمة وهكذا
-
رد : أبحث عن طريقة آلية لتحويل مجموعة لجداول إلى راستر
بسم الله
السلام عليكم
نعم اذا تكرر الموضوع
فلابد من برمجة ذلك
ضوابط المشاركة
- لا تستطيع إضافة مواضيع جديدة
- لا تستطيع الرد على المواضيع
- لا تستطيع إرفاق ملفات
- لا تستطيع تعديل مشاركاتك
-
قوانين المنتدى