اعلانات انجمن


ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arcgis flexible query
نویسنده پیام
javadadabi آفلاین
کاربر عادی
*

ارسال‌ها: 94
تاریخ عضویت: خرد ۱۳۹۳
اعتبار: 38
ارسال: #1
Arcgis flexible query
سلام
همون طور که میدونید برای پرسش در arcgis امکاناتی مثل select by attribute و select by location فراهم شده.
منتها select by attribute محدودیت خاص خودش رو داره از جمله اینکه مثلا شما فقط بخش where cluse رو میتونید تعیین کنید.
مثلا اگر شما قصدا داشته باشید معادل دستور sql
select 10 top...from table where condition رو در arcgis پیاده سازی کنید باید چه کاری انجام داد.
فرض ما این هست که لایه ها در پایگاه داده sql قرار ندارند.
آیا میشه با برنامه نویسی arcobjects این امکان رو فراهم کرد؟
ممنون از توجه شما
(آخرین ویرایش در این ارسال: ۷-۴-۱۳۹۳ ۰۶:۵۲ عصر، توسط علوی.)
۶-۴-۱۳۹۳ ۰۳:۲۶ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
علوی آنلاین
ناظر انجمن
******

ارسال‌ها: 495
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 246
ارسال: #2
RE: َArcgis flexible query
توی خود ArcGIS که مطمئنا نمیشه. چون توی کادر صریحا نوشته Select * from layer where 
یعنی فقط برای تغییر در بخش Where clause هست.
اما توی ArcObjects مطمئنا قابل انجام هست. میتونید کد مستقیم بنویسید یعنی از متدهای Search یا Select که در IFeatureLayer یا IFeatureClass هست استفاده کنید، یک کرسر (Cursor) یا یک Selection set خروجی رو بگیرید و بعد ده تا رو - با ترتیب یا بدون ترتیب- از اون استخراج کنید.
میتونید هم از ابزار ژئوپروسسینگ SelectLayerByAttribute استفاده کنید. مثل همون کاری که در ArcGIS انجام میدید قسمت Where clause رو بهش بدید تا کل عوارض مربوطه رو سلکت کنه بعد از میان عوارض سلکت شده مثلا ده تای اول رو خودتون با کدنویسی دربیارید. 

دو اصل اساسی انجمن:
1- احترام به یکدیگر
2- درصورت نقل مطلب، ذکر منبع و لینک به اصل مطلب

برای تقدیر و تشکر از دکمه [تصویر:  postbit_reputation.gif] در پایین هر ارسال استفاده کنید.
۷-۴-۱۳۹۳ ۰۶:۵۲ عصر
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
 اعتبار داده شده توسط : javadadabi(+1)
javadadabi آفلاین
کاربر عادی
*

ارسال‌ها: 94
تاریخ عضویت: خرد ۱۳۹۳
اعتبار: 38
ارسال: #3
RE: Arcgis flexible query
سلام
دقیقا درست میفرمایید
توی مدتی که سوال رو مطرح کرده بودم بیکار ننشستم و یه ابزار سفارشی از نوع dockable window برای select by attribute‌ساختم.
اگر تمومش کنم همین جا اپلود میکنم تا دوستان هم بتونن استفاده کنند.
۷-۴-۱۳۹۳ ۱۰:۳۵ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
علوی آنلاین
ناظر انجمن
******

ارسال‌ها: 495
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 246
ارسال: #4
RE: Arcgis flexible query
(۷-۴-۱۳۹۳ ۱۰:۳۵ عصر)'javadadabi' نوشته شده توسط:  سلام
دقیقا درست میفرمایید
توی مدتی که سوال رو مطرح کرده بودم بیکار ننشستم و یه ابزار سفارشی از نوع dockable window برای select by attribute‌ساختم.
اگر تمومش کنم همین جا اپلود میکنم تا دوستان هم بتونن استفاده کنند.

 

خیلی عالی.
من کد کامل پنجره Select By Attribute رو برای محیط انجین دارم که اگر به دردتون میخوره بذارم براتون. توی یکی از پروژه ها طرف میخواست عین همین پنجره رو که در ArcGIS هست در برنامه انجین خودش داشته باشه. اینم از عجایب روزگار ماست !!!!! و البته خاص ما ایرانی ها !!!!
 

دو اصل اساسی انجمن:
1- احترام به یکدیگر
2- درصورت نقل مطلب، ذکر منبع و لینک به اصل مطلب

برای تقدیر و تشکر از دکمه [تصویر:  postbit_reputation.gif] در پایین هر ارسال استفاده کنید.
۸-۴-۱۳۹۳ ۱۱:۱۷ عصر
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
javadadabi آفلاین
کاربر عادی
*

ارسال‌ها: 94
تاریخ عضویت: خرد ۱۳۹۳
اعتبار: 38
ارسال: #5
RE: Arcgis flexible query
سلام
اگه این کار رو انجام بدید که دیگه لطفتون رو به حد کمال رسوندید.
البته اگر چه تقریبا تکمیلش کردم ولی باز شاید در اون کد ها ایده ای وجود داشته باشه که بتونم به کدها اضافه کنم
باز هم از حسن توجه شما تشکر می کنم
 
۹-۴-۱۳۹۳ ۰۱:۵۷ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
hatef آفلاین
کاربر عادی
*

ارسال‌ها: 32
تاریخ عضویت: مهر ۱۳۹۲
اعتبار: 5
ارسال: #6
RE: Arcgis flexible query
مهندس علوی. من هم به شدت به این کد احتیاج دارم. اگه بذارین واقعا لطف بزرگی کردین.
 
۹-۴-۱۳۹۳ ۰۲:۲۰ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
علوی آنلاین
ناظر انجمن
******

ارسال‌ها: 495
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 246
ارسال: #7
RE: Arcgis flexible query
کد Select By Attribute  در زبان VB.NET .
قسمت اصلی کد، تعریف و استفاده از ابزار ژئوپروسسینگ هست:

کد php:
Dim GP As ESRI.ArcGIS.Geoprocessor.Geoprocessor = New ESRI.ArcGIS.Geoprocessor.Geoprocessor
            Dim SelectTool 
As New ESRI.ArcGIS.DataManagementTools.SelectLayerByAttribute
            SelectTool
.in_layer_or_view pLaySelected
            SelectTool
.where_clause tbxSQLString.Text
            Select 
Case cboMethod.SelectedIndex
                
Case 'Create a new selection
                    SelectTool.selection_type = "NEW_SELECTION"
                Case 1 '
Add to the current selection
                    SelectTool
.selection_type "ADD_TO_SELECTION"
                
Case 'Remove from the current selection
                    SelectTool.selection_type = "REMOVE_FROM_SELECTION"
                Case 3 '
Select from the current selection
                    SelectTool
.selection_type "SUBSET_SELECTION"
            
End Select

            Dim pGPResult 
As ESRI.ArcGIS.Geoprocessing.IGeoProcessorResult
            GP
.OverwriteOutput True
            pGPResult 
GP.Execute(SelectToolNothing
 


فایل‌(های) پیوست شده
.rar  SelectByAtt.rar (اندازه: 5.68 KB / تعداد دفعات دریافت: 15)

دو اصل اساسی انجمن:
1- احترام به یکدیگر
2- درصورت نقل مطلب، ذکر منبع و لینک به اصل مطلب

برای تقدیر و تشکر از دکمه [تصویر:  postbit_reputation.gif] در پایین هر ارسال استفاده کنید.
(آخرین ویرایش در این ارسال: ۱۰-۴-۱۳۹۳ ۰۵:۳۶ عصر، توسط علوی.)
۱۰-۴-۱۳۹۳ ۰۵:۳۵ عصر
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
 اعتبار داده شده توسط : javadadabi(+1)
javadadabi آفلاین
کاربر عادی
*

ارسال‌ها: 94
تاریخ عضویت: خرد ۱۳۹۳
اعتبار: 38
ارسال: #8
RE: Arcgis flexible query
از لطف شما بسیار متشکرم
۱۰-۴-۱۳۹۳ ۰۶:۲۶ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان