نمایش نتایج 1 تا 31 از 31

نام تاپیک: کد نویسی در GIS

  1. #1
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    کد نویسی در GIS

    سلام خدمت تمامی برنامه نویسان و اساتید گرامی از اونجائی که همه دوستانی که در مورد برنامه نویسی در GIS به نحوی اشاه به نکات ابتدایی کردن واصلا راجب کد نویسی صحبتی به میان نیاوردن و تاپیک گذاشتن به حال خودشون
    من در اینجا تصمیم دارم مستقیم کد نویسی در این سیستم رو آموزش برم البته مفاهیم پایه اون رو چون واقعیت اینه که من نه زمان کافی واسه آموزش کل و نه حوصلش رو چون فوت فن خاص داره
    فقط خواهشا دوستان سوالاتشون رو در آخر که ازتون خواستم بپرسین که تاپیک رو بعد اتمام سوالات خاتمه بدم


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using ESRI.ArcGIS.Carto;
    using ESRI.ArcGIS.esriSystem;
    namespace MapsAndLayers
    {
    public partial class frmDocInfo : Form
    {
    private IMapDocument m_mapDocument;
    private IEnumLayer m_enumLayers;
    private IMap m_map;
    private ILayer2 m_layer;
    public frmDocInfo()
    {
    InitializeComponent();
    }
    private void btnClose_Click(object sender, EventArgs e)
    {
    Close();
    }
    private void btnLayerInfo_Click(object sender, EventArgs e)
    {
    MessageBox.Show(String.Format("{0:#} layers in the active map", m_map.LayerCount));
    }
    private void btnFieldInfo_Click(object sender, EventArgs e)
    {
    MessageBox.Show("You will learn how to access fields in a later lesson");
    }
    private void btnLoadMxd_Click(object sender, EventArgs e)
    {
    // ArcGIS Desktop (ArcView)
    // ArcGIS Engine
    openFileDialog1.Title = "Browse";
    openFileDialog1.Filter = "Map Documents (*.mxd) | *.mxd";
    openFileDialog1.InitialDirectory = "\\Student\\IPAN";
    openFileDialog1.ShowDialog();
    string sFilePath;
    sFilePath = openFileDialog1.FileName;
    //IMapDocument mapDocument;
    m_mapDocument = new MapDocument();
    if (!m_mapDocument.get_IsMapDocument(sFilePath))
    {
    return;
    }
    m_mapDocument.Open(sFilePath, "");
    for (int i = 0; i < m_mapDocument.MapCount; i++)
    {
    cboMaps.Items.Add(m_mapDocument.get_Map(i).Name);
    }
    cboMaps.Text = m_mapDocument.get_Map(0).Name;
    lblDataFrame.Text = "Active Data Frame: "
    + m_mapDocument.ActiveView.FocusMap.Name;
    }
    private void cboMaps_SelectedValueChanged(object sender, EventArgs e)
    {
    lboMapLayers.Items.Clear();
    for (int i = 0; i < m_mapDocument.MapCount; i++)
    {
    //Pull a map from the collection
    m_map = m_mapDocument.get_Map(i);
    if (m_map.Name.Equals(cboMaps.SelectedItem))
    {
    axMapControl1.Map = m_map;
    break;
    //Exits the loop once the map is found
    }
    }
    m_enumLayers = m_map.get_Layers(null,true);
    m_layer = m_enumLayers.Next() as ILayer2;
    do
    {
    lboMapLayers.Items.Add(m_layer.Name);
    m_layer = m_enumLayers.Next() as ILayer2;
    } while (m_layer != null);
    btnFrameInfo.Enabled = cboMaps.Text != "";
    btnLayerInfo.Enabled = cboMaps.Text != "";
    }
    private void btnFrameInfo_Click(object sender, System.EventArgs e)
    {
    string sDocName = m_mapDocument.DocumentFilename;
    string sMapName = m_map.Name;
    int iMapCount = m_mapDocument.MapCount;
    MessageBox.Show(("Mxd Name: "
    + (sDocName + ("\r\n" + ("Active Frame: "
    + (sMapName + ("\r\n" + ("Data Frames: "
    + (iMapCount + "\r\n")))))))));
    }
    private void axMapControl1_OnMapReplaced(object sender, _
    ESRI.ArcGIS.Controls.IMapControlEvents2_OnMapRepla cedEvent e)
    {
    // ArcGIS Snippet Title:
    // Copy map
    //
    // Long Description:
    // Copy a map to a layout
    //
    // Intended ArcGIS Products for this snippet:
    // ArcGIS Desktop (ArcView, ArcEditor, ArcInfo)
    // ArcGIS Engine
    // This snippet is intended to be inserted inside a Method.
    // It is not intended to be added to the base level of the Class.
    axPageLayoutControl1.ActiveView.Clear();
    IObjectCopy objectCopy;
    objectCopy = new ObjectCopy();
    object toCopyMap;
    toCopyMap = axMapControl1.ActiveView.FocusMap;
    object copiedMap;
    copiedMap = objectCopy.Copy(toCopyMap);
    object toOverwriteMap;
    toOverwriteMap = axPageLayoutControl1.ActiveView.FocusMap;
    // Overwrite the PageLayoutControl's map
    objectCopy.Overwrite(copiedMap, ref toOverwriteMap);
    }
    private void lboMapLayers_SelectedValueChanged(object sender, EventArgs e)
    {
    btnLayerInfo.Enabled = (lboMapLayers.Text != "");
    lboFields.Items.Clear();
    m_enumLayers.Reset();
    //move the enum pointer above the first layer
    m_layer = m_enumLayers.Next() as ILayer2;
    //Return the first layer from the enumeration
    do //begin the loop
    {
    if (m_layer.Name == lboMapLayers.Text) //check whether this is the layer
    {
    //Determine whether you have a feature layer
    if (!(m_layer is IFeatureLayer2))
    {
    lboFields.Items.Add("Not a feature layer");
    }
    break;
    //If the layer is found, exit the loop (but not the event)
    }
    m_layer = m_enumLayers.Next() as ILayer2;
    //Return another layer
    } while (m_layer != null);
    btnFieldInfo.Enabled = (lboMapLayers.Text != "");
    }
    }
    }

    لطفا عکس ضمینه شده رو دانلود کنید.
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg 1.jpg‏ (41.7 کیلوبایت, 888 دیدار)

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    خوب حالا نوبت به قسمت دوم کد نویسی در GIS lمیرسیم در قسمت اول سعی بر این شد که طرز فراخونی نقشه رو با کد نویسی یاد بگیرد و طرز انتخاب لایه ها و اطلاعات مربوطه رو
    در این قسمت طریقه دسترسی به دیتا رو یاد میگیرید

    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.IO;
    using System.Runtime.InteropServices;
    using ESRI.ArcGIS.esriSystem;
    using ESRI.ArcGIS.Carto;
    using ESRI.ArcGIS.Controls;
    using ESRI.ArcGIS.ADF;
    using ESRI.ArcGIS.SystemUI;
    using ESRI.ArcGIS.Geodatabase;
    using ESRI.ArcGIS.DataSourcesGDB;
    namespace DataAccess
    {
    public sealed partial class MainForm : Form
    {
    #region class private members
    private IMapControl3 m_mapControl = null;
    private string m_mapDocumentName = string.Empty;
    private ILayer m_layer;
    #endregion
    #region class constructor
    public MainForm()
    {
    InitializeComponent();
    }
    #endregion
    private void MainForm_Load(object sender, EventArgs e)
    {
    //get the MapControl
    m_mapControl = (IMapControl3)axMapControl1.Object;
    //disable the Save menu (since there is no document yet)
    menuSaveDoc.Enabled = false;
    axMapControl1.ShowMapTips = false;
    chkShowTips.CheckState = CheckState.Unchecked;
    AddData();
    }
    #region Main Menu event handlers
    private void menuNewDoc_Click(object sender, EventArgs e)
    {
    ICommand command = new CreateNewDocument();
    command.OnCreate(m_mapControl.Object);
    command.OnClick();
    }
    private void menuOpenDoc_Click(object sender, EventArgs e)
    {
    ICommand command = new ControlsOpenDocCommandClass();
    command.OnCreate(m_mapControl.Object);
    command.OnClick();
    }
    private void menuSaveDoc_Click(object sender, EventArgs e)
    {
    if (m_mapControl.CheckMxFile(m_mapDocumentName))
    {
    IMapDocument mapDoc = new MapDocumentClass();
    mapDoc.Open(m_mapDocumentName, string.Empty);
    //Make sure that the MapDocument is not readonly
    if (mapDoc.get_IsReadOnly(m_mapDocumentName))
    {
    MessageBox.Show("Map document is read only!");
    mapDoc.Close();
    return;
    }
    mapDoc.ReplaceContents((IMxdContents)m_mapControl. Map);
    mapDoc.Save(mapDoc.UsesRelativePaths, false);
    //close the MapDocument
    mapDoc.Close();
    }
    }
    private void menuSaveAs_Click(object sender, EventArgs e)
    {
    //execute SaveAs Document command
    ICommand command = new ControlsSaveAsDocCommandClass();
    command.OnCreate(m_mapControl.Object);
    command.OnClick();
    }
    private void menuExitApp_Click(object sender, EventArgs e)
    {
    //exit the application
    Application.Exit();
    }
    #endregion
    private void axMapControl1_OnMapReplaced(object sender,
    IMapControlEvents2_OnMapReplacedEvent e)
    {
    m_mapDocumentName = m_mapControl.DocumentFilename;
    if (m_mapDocumentName == string.Empty)
    {
    menuSaveDoc.Enabled = false;
    statusBarXY.Text = string.Empty;
    }
    else
    {
    menuSaveDoc.Enabled = true;
    statusBarXY.Text = Path.GetFileName(m_mapDocumentName);
    }
    }
    private void axMapControl1_OnMouseMove(object sender,
    IMapControlEvents2_OnMouseMoveEvent e)
    {
    statusBarXY.Text =
    string.Format("{0}, {1} {2}", e.mapX.ToString("#######.##"),
    e.mapY.ToString("#######.##"),
    axMapControl1.MapUnits.ToString().Substring(4));
    }
    private void AddData()
    {
    IWorkspaceFactory wsFactory;
    wsFactory = new FileGDBWorkspaceFactory();
    IWorkspace workspace;
    workspace = wsFactory.OpenFromFile(
    "\\Student\\IPAN\\Database\\World.gdb", 0);
    IFeatureWorkspace fWS;
    fWS = workspace as IFeatureWorkspace;
    IFeatureClass fcCountries;
    fcCountries = fWS.OpenFeatureClass("Countries");
    IFeatureClass fcLakes;
    fcLakes = fWS.OpenFeatureClass("Lakes");
    IFeatureLayer countriesLayer;
    countriesLayer = new FeatureLayer();
    IFeatureLayer lakesLayer;
    lakesLayer = new FeatureLayer();
    countriesLayer.FeatureClass = fcCountries;
    lakesLayer.FeatureClass = fcLakes;
    countriesLayer.Name = "World Countries";
    //countriesLayer.ShowTips = true;
    lakesLayer.Name = "World Lakes";
    //lakesLayer.ShowTips = false;
    lakesLayer.Visible = false;
    axMapControl1.AddLayer(countriesLayer);
    axMapControl1.AddLayer(lakesLayer);
    }
    private void axTOCControl1_OnMouseDown(object sender,
    ITOCControlEvents_OnMouseDownEvent e)
    {
    // ArcGIS Snippet Title:
    // ArcGIS Desktop (ArcView, ArcEditor, ArcInfo)
    IBasicMap map = null;
    ILayer layer = null;
    object other = null;
    object index = null;
    esriTOCControlItem item = esriTOCControlItem.esriTOCControlItemNone;
    axTOCControl1.HitTest(e.x, e.y, ref item, ref map, ref layer,
    ref other, ref index);
    if ((item == esriTOCControlItem.esriTOCControlItemLayer))
    {
    m_layer = layer as ILayer;
    }
    }
    private void chkShowTips_CheckStateChanged(object sender, System.EventArgs e)
    {
    // ArcGIS Desktop (ArcView, ArcEditor, ArcInfo)
    ILayer layer;
    // Loop through the layers in the map
    for (int i = 0; (i < (axMapControl1.LayerCount)); i++)
    {
    layer = axMapControl1.get_Layer(i);
    if (layer is IFeatureLayer)
    {
    // Show MapTips based for selected layer,
    // depending on status of CheckBox
    if (layer == m_layer)
    {
    if (chkShowTips.CheckState == CheckState.Checked)
    {
    layer.ShowTips = true;
    }
    else
    {
    layer.ShowTips = false;
    }
    }
    else
    {
    layer.ShowTips = false;
    }
    }
    }
    }
    private void chkShowTips_CheckedChanged(object sender, EventArgs e)
    {
    if (chkShowTips.CheckState == CheckState.Checked)
    {
    axMapControl1.ShowMapTips = true;
    else
    axMapControl1.ShowMapTips = false;
    }
    }
    }
    }

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    شرمنده عکس از برنامه یادم رفت
    فرمهاتون رو مثل من درست کنید تا مشکلی پیش نیاد
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg 2.jpg‏ (31.5 کیلوبایت, 875 دیدار)

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    دوستان تا اینجا اگه کسی سوال داره بپرسه تا مبحث پیشرفته ای رو شروع کنم که نیاز به درک از مفاهیم پایه داره
    آخرین ویرایش به وسیله a1053r : چهارشنبه 19 مرداد 1390 در 02:22 صبح

  5. #5
    کاربر دائمی آواتار complexcoding
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قزوین
    سن
    33
    پست
    744

    نقل قول: کد نویسی در GIS

    آقا GIS که یک نرم افزار زمین شناسیه!!!!
    می شه با سی شارپ توش کدنویسی کرد؟ اگر یاد بگیریم توش نون داره؟ با چه زبانهای دیگه ای می شه برنامه نویسی کرد ؟

  6. #6
    کاربر دائمی آواتار elena2007
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    آذربایجان - خوی
    سن
    36
    پست
    122

    نقل قول: کد نویسی در GIS

    میشه در مورد GIS کمی توضیح بدین که اصلا چی هستش ؟؟؟
    شرمنده

  7. #7
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    از دید برنامه نویس تو جاهایی مثل شهرداری ثبت اسناد و املاک سازمان پارکها و فضای شهری و شهرسازی و غیره...... میشه تولید نرم افزار کرد این سیستم از سی شارپ و جاوا و اکثر زبانهای برنامه نویسی پشتیبانی میکنه که خیلی هم کار کردن با این سیستم جدا از دونستن برنامه نویسی فوت و فن خودشو میخواد و با صراحت کامل می تونم بگم پول خوبی از این راه میشه در آورد

    اما در مورد خود GIS :
    تو خود انجمن هست یه جستجوی ساده بزنید بهتر از توضیحات من جواب میگیرید.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    از دید برنامه نویس تو جاهایی مثل شهرداری ثبت اسناد و املاک سازمان پارکها و فضای شهری و شهرسازی و غیره...... میشه تولید نرم افزار کرد این سیستم از سی شارپ و جاوا و اکثر زبانهای برنامه نویسی پشتیبانی میکنه که خیلی هم کار کردن با این سیستم جدا از دونستن برنامه نویسی فوت و فن خودشو میخواد و با صراحت کامل می تونم بگم پول خوبی از این راه میشه در آورد

    اما در مورد خود GIS :
    تو خود انجمن هست یه جستجوی ساده بزنید بهتر از توضیحات من جواب میگیرید.

  9. #9

    نقل قول: کد نویسی در GIS

    اگه میشه در پایان ، برنامتون رو هم بزارین

  10. #10
    کاربر دائمی آواتار complexcoding
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قزوین
    سن
    33
    پست
    744

    نقل قول: کد نویسی در GIS

    دوست من یک سوال مهم :
    1- پس باید GIS رو هم یاد بگیریم وگر نه از کجا بدونیم این کدها رو شما کجا(تو کدوم بخش) می نویسید؟

  11. #11
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    از فراخونی نام ایتم ها می تونی راحت جاش رو پیدا کنید و بدونی کدوم کد ماله کدوم ایتمه خوب اگه کسی سوال فنی نداره میرم سر اتصال به GEODATA که همون مبحث اتصال بانک اطلاعاتی به نقشه هاست

  12. #12
    کاربر دائمی آواتار complexcoding
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قزوین
    سن
    33
    پست
    744

    نقل قول: کد نویسی در GIS

    بیبین داداش شروع کردی تا آخر برو ها نصف ول نکنی بعد هی پیام بدن چرا ادامه نمی دی.........کجایی.........تو رو خدا ادامه بده .... از این حرفا.
    .................................................. .................................................. .................................................. .................................................. .....................
    یه پیشنهاد :
    می تونی به جای تاپیک زدن این اطلاعات رو به پی دی اف تبدیل کنی بعد از پخش کردنش فرصت داری که در نسخه های بعدی تکمیلش کنی چطوره؟اونجوری کسی که به اینترنت دسترسی نداره هم می تونه یک دقیقه بره کافی نت دانلود کنه تو خونه ازش استفاده کنه.

    اول یه سوال؟ ببخشید شما تا آخرش بلد هستید و سر کار می رید؟ درباره خودتون که چی شد رفتید تو این شاخه یه توضیح کامل بدید؟ الان سر همین تخصص دارید کار می کنید؟
    __________________________________________________ __________________________________________________ _________________________

    نه دیگه حرفی نیست ادامه بدید

  13. #13
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    من قصد ول کردن این آموزش رو ندارم چون حق همست یاد بگیرن من راستش 7 سال دارم سی شارپ کار میکنم و از اونجایی که یه بار تو حرفه خودم یه نفر ازم یه سوال پرسید و نتونستم جواب بدم قسم خوردم کاری کنم که تو شهر خودم نفر اول برنامه نویس باشم و راستیتش 4 سال رو GIS,GPS وقت گذاشتم اصولا ادم خود ساخته ای هستم و تا اخر متد روز برنامه نویسی من هستم و میرم جلو

    مشخصات تکمیلی من :
    آرش حاتمی
    شماره تماسم :09116205046
    از تماس گرفتن خجالت نکشید مشکلی بود تماس بگیرید تونستم تلفنی حل می کنیم
    آخرین ویرایش به وسیله a1053r : جمعه 03 خرداد 1392 در 01:06 صبح

  14. #14
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS


    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.IO;
    using System.Runtime.InteropServices;
    using ESRI.ArcGIS.esriSystem;
    using ESRI.ArcGIS.Carto;
    using ESRI.ArcGIS.Controls;
    using ESRI.ArcGIS.ADF;
    using ESRI.ArcGIS.SystemUI;
    using ESRI.ArcGIS.Geodatabase;
    using ESRI.ArcGIS.Display;
    namespace QueryFilters
    {
    public sealed partial class MainForm : Form
    {
    #region class private members
    private IMapControl3 m_mapControl = null;
    private string m_mapDocumentName = string.Empty;
    #endregion
    #region class constructor
    public MainForm()
    {
    InitializeComponent();
    }
    #endregion
    private void MainForm_Load(object sender, EventArgs e)
    {
    //get the MapControl
    m_mapControl = (IMapControl3)axMapControl1.Object;
    //disable the Save menu (since there is no document yet)
    menuSaveDoc.Enabled = false;
    }
    #region Main Menu event handlers
    private void menuNewDoc_Click(object sender, EventArgs e)
    {
    //execute New Document command
    ICommand command = new CreateNewDocument();
    command.OnCreate(m_mapControl.Object);
    command.OnClick();
    }
    private void menuOpenDoc_Click(object sender, EventArgs e)
    {
    //execute Open Document command
    ICommand command = new ControlsOpenDocCommandClass();
    command.OnCreate(m_mapControl.Object);
    command.OnClick();
    }
    private void menuSaveDoc_Click(object sender, EventArgs e)
    {
    //execute Save Document command
    if (m_mapControl.CheckMxFile(m_mapDocumentName))
    {
    //create a new instance of a MapDocument
    IMapDocument mapDoc = new MapDocumentClass();
    mapDoc.Open(m_mapDocumentName, string.Empty);
    //Make sure that the MapDocument is not readonly
    if (mapDoc.get_IsReadOnly(m_mapDocumentName))
    {
    MessageBox.Show("Map document is read only!");
    mapDoc.Close();
    return;
    }
    //Replace its contents with the current map
    mapDoc.ReplaceContents((IMxdContents)m_mapControl. Map);
    //save the MapDocument in order to persist it
    mapDoc.Save(mapDoc.UsesRelativePaths, false);
    //close the MapDocument
    mapDoc.Close();
    }
    }
    private void menuSaveAs_Click(object sender, EventArgs e)
    {
    //execute SaveAs Document command
    ICommand command = new ControlsSaveAsDocCommandClass();
    command.OnCreate(m_mapControl.Object);
    command.OnClick();
    }
    private void menuExitApp_Click(object sender, EventArgs e)
    {
    //exit the application
    Application.Exit();
    }
    #endregion
    //listen to MapReplaced event in order to
    update the statusbar and the Save menu
    private void axMapControl1_OnMapReplaced(
    object sender, IMapControlEvents2_OnMapReplacedEvent e)
    {
    //get the current document name from the MapControl
    m_mapDocumentName = m_mapControl.DocumentFilename;
    if (m_mapDocumentName == string.Empty)
    {
    menuSaveDoc.Enabled = false;
    statusBarXY.Text = string.Empty;
    }
    else
    {
    //enable the Save menu and write the doc name to the statusbar
    menuSaveDoc.Enabled = true;
    statusBarXY.Text = Path.GetFileName(m_mapDocumentName);
    }
    }
    private void axMapControl1_OnMouseMove(
    object sender, IMapControlEvents2_OnMouseMoveEvent e)
    {
    statusBarXY.Text = string.Format("{0}, {1} {2}",
    e.mapX.ToString("#######.##"),
    e.mapY.ToString("#######.##"),
    axMapControl1.MapUnits.ToString().Substring(4));
    }
    private void btnLandlocked_Click(object sender, EventArgs e)
    {
    IFeatureLayer fLayer;
    fLayer = axMapControl1.get_Layer(2) as IFeatureLayer;
    IFeatureClass fClass;
    fClass = fLayer.FeatureClass;
    IQueryFilter qFilter = new QueryFilter();
    IFeatureCursor fCursor;
    qFilter.WhereClause = "LANDLOCKED = \'Y\'";
    fCursor = fClass.Search(qFilter, true);
    double dblArea = 0;
    long lngCountries = 0;
    lngCountries = fClass.FeatureCount(qFilter);
    IFeature feat = fCursor.NextFeature();
    while (feat != null)
    {
    dblArea += Convert.ToDouble(feat.get_Value(10));
    // Area in square km is the 11th field
    feat = fCursor.NextFeature();
    }
    MessageBox.Show(String.Format("Number of landlocked countries:
    {0}\r\n Area: {1:#} sq km", lngCountries, dblArea));
    }
    private void btnSpatialFilter_Click(object sender, EventArgs e)
    {
    IFeatureSelection cntryLyr;
    ISelectionSet cntrySel;
    ICursor cntryCursor;
    cntryLyr = axMapControl1.get_Layer(2) as IFeatureSelection;
    cntrySel = cntryLyr.SelectionSet;
    cntrySel.Search(null, true, out cntryCursor);
    IFeatureCursor featCursor = cntryCursor as IFeatureCursor;
    IFeature country;
    country = featCursor.NextFeature();
    if ((country == null))
    {
    MessageBox.Show("Please select a country");
    return;
    }
    ISpatialFilter spatFilt;
    spatFilt = new SpatialFilter();
    IQueryFilter qFilt;
    qFilt = spatFilt;
    spatFilt.WhereClause = "Population > 2000000";
    spatFilt.Geometry = country.Shape;
    spatFilt.SpatialRel = esriSpatialRelEnum.esriSpatialRelContains;
    IFeatureLayer cityLyr;
    IFeatureClass cityFClass;
    cityLyr = axMapControl1.get_Layer(0) as IFeatureLayer;
    cityFClass = cityLyr.FeatureClass;
    IFeatureCursor cityCursor;
    cityCursor = cityFClass.Search(spatFilt, true);
    long lngCities = 0;
    lngCities = cityFClass.FeatureCount(spatFilt);
    MessageBox.Show("This country has" + "\r\n"
    + lngCities + " cities with population > 2,000,000");
    }
    private void btnSelectCities_Click(object sender, EventArgs e)
    {
    IMap map;
    map = axMapControl1.ActiveView.FocusMap;
    IFeatureSelection featSel;
    featSel = m_layer as IFeatureSelection;
    IQueryFilter qFilt = new QueryFilter();
    qFilt.WhereClause = "Population > 10000000";
    if (featSel != null)
    featSel.Clear();
    else
    return;
    featSel.SelectFeatures(qFilt,
    esriSelectionResultEnum.esriSelectionResultNew, false);
    MessageBox.Show(featSel.SelectionSet.Count + " features selected");
    IRgbColor grn = new RgbColor();
    grn.Green = 255;
    featSel.SelectionColor = grn;
    axMapControl1.ActiveView.Refresh();
    }
    private void axTOCControl1_OnMouseDown(object sender,
    ITOCControlEvents_OnMouseDownEvent e)
    {
    IBasicMap map = null;
    ILayer layer = null;
    object other = null;
    object index = null;
    esriTOCControlItem item = esriTOCControlItem.esriTOCControlItemNone;
    axTOCControl1.HitTest(
    e.x, e.y, ref item, ref map, ref layer, ref other, ref index);
    if ((item == esriTOCControlItem.esriTOCControlItemLayer))
    {
    m_layer = layer;
    }
    }
    }
    }

  15. #15
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    این نمونه کدی واسه اتصال به GEODATA که اگه فایل کامل GIS رو داشته باشین این بانک همراهش هست و مثل مثال قبلی برید جلو با این تفاوت با نگه داشتن موس مشخصاتی که قبلا در بانک وجود داشته به ایتم انتخاب شده در نقشه اختصاص داده میشه

  16. #16
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    دوستان خوبم کسی سوالی در مورد اتصال به دیتا نداره اگه داره بپرسه تا بقیشو برم

  17. #17
    کاربر دائمی آواتار complexcoding
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قزوین
    سن
    33
    پست
    744

    نقل قول: کد نویسی در GIS

    آقا من چیکار کنم کامپیوترم اسقات شده نمی تونم GIS نصب کنم فعلا شما می تونید درس بدید بعد من سوالامو بپرسم؟؟

  18. #18
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    باشه دوستان من درس بعدی با عنوان کار بر روی لایه ها شروع خواهم کرد

  19. #19

    نقل قول: کد نویسی در GIS

    من هم میخوام شروع کنم فقط یکی قبلش لطف کنه این سوال رو جواب بده
    1- ارزش وقت گذاشتن داره؟
    2- چه مدت طول میکشه حرفه ای بشم
    3- کجا میتونم کار براش پیدا کنم

  20. #20

    نقل قول: کد نویسی در GIS

    با سلام
    ضمن تشكر از همه دوستاني كه دانششون رو به اشتراك گذاشتن
    كسي با Arcgis silverlight كار كرده من سوال دارم ؟؟؟

  21. #21
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

    نقل قول: کد نویسی در GIS

    سلام دوست عزیز.
    بابت این آموزش ازتون ممنونم.
    ولی بهتر نبود اول از همه یه توضیحی در مورد این ArcGIS می دادین.
    و اینکه مثلا باید چه چیرهایی نصب بشه و کلا چه نیازهایی داره!

    اگه لطف کنید و در مورد این موارد هم توضیحاتی بذارین خیلی بهتر میشه!
    به نظرم وقتی یه تایپیک با عنوان آموزش میذارین باید از ابتدا شروع کنید و کم کم برین جلو...
    نه اینکه شما اومدین کلی کد گذاشتین و نه توضیح در موردشون دادین و نه گفتین که به چه dllهایی نیاز داره و ....

    اگه لطف کنید موارد ابتدایی رو هم توضیح بدین و آموزشتون رو کامل کنید ممنون میشم...
    با تشکر...

  22. #22
    کاربر دائمی آواتار peymanjon
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    مشهد
    پست
    252

    نقل قول: کد نویسی در GIS

    سلام من داخل MapControlApplication خودم یک نقطه را در axMapControl پیدا کردم و زوم کردم حالا می خوام بفرستمش برای پرینت از اینجا آدرس کمک گرفتم ولی کار نمی کنه:
    http://help.arcgis.com/en/sdk/10.0/a...00002w4000000/
    اگه می تونید کمک کنید ، لطفاً توجه داشته باشید من map زوم شده را می خوام بفرستم برای پرینت نه کل map.

    راستش از axPageLayoutControl اگر map لود کنم با این توابع می تونم بفرستم به پرینت ولی نمی تونم زوم کنم روی یه قسمت خاص و کل نقشه را می فرسته :
    //Set printer papers orientation to that of the page.
    axPageLayoutControl1.Printer.Paper.Orientation =
    axPageLayoutControl1.Page.Orientation;
    axPageLayoutControl1.PageLayout.ZoomToPercent((int )axPageLayoutControl1.PageLayout.ZoomPercent);
    axPageLayoutControl1.PageLayout.ZoomToWhole();
    //Scale to the page.
    axPageLayoutControl1.Page.PageToPrinterMapping =
    esriPageToPrinterMapping.esriPageMappingScale;
    //Send the page layout to the printer.
    axPageLayoutControl1.PrintPageLayout();


    این قسمتم اگه می تونید کمک کنید .
    ممنون.

  23. #23
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

    نقل قول: کد نویسی در GIS

    از آخرین پست ایشون حدود 70 روزه که میگذره!!! پس به احتمال زیاد قصد ادامه دادن و پاسخ به سوالات رو ندارن!!!!!!!!! واقعا توی این سایت ندیم یه آموزش تا انتها جلو بره!!! چرا ما ایرانی ها اینطوری هستیم و پشتکارمون .........
    نقل قول نوشته شده توسط a1053r مشاهده تاپیک
    من قصد ول کردن این آموزش رو ندارم چون حق همست یاد بگیرن
    اینم بمونه!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  24. #24
    کاربر دائمی آواتار peymanjon
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    مشهد
    پست
    252

    نقل قول: کد نویسی در GIS

    خوب من خودم یه کاریش کردم تا اونجا که متوچه شدم mapcontrol خاصیت print نداره بنابراین من با ربط دادن mapcontrol به یک PageLayoutControl تونستم printdocument را به pagelayout متصل کنم و در printpreview نقشه زوم شده ای در map control را نمایش بدهم .این توضیح من خیلی کلی بود و پیاده سازیش یکمی اعصاب خورد کن بود چون لقمه را یه بار دور سرم پیچوندم و قسمت بدش اینه که من باید pagelayout را هم Visible را false کنم چون به در برنامه به کارم نمیاد و قضیه زمانی بدتر شد که نقشه زوم شده را باید با mapcontrol اول save کنم و بعد در pagelayout لود کنم و در نهایت بفرستمش به printpreview .

  25. #25
    کاربر دائمی آواتار peymanjon
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    مشهد
    پست
    252

    نقل قول: کد نویسی در GIS

    کسی از دوستان اطلاع داره چجوری در فروم خود ArcGIS می شه ثبت نام کرد که اجازه log in بده ؟
    http://forums.arcgis.com/
    راستش من با IP غیر ایران هم ثبت نام کردم ولی می نویسه اطلاعات در دست بررسی است و اجازه login نمی ده ، الان 7 روزی هست که همین پیغام می ده.

  26. #26

    نقل قول: کد نویسی در GIS

    سلام و خسته نباشید چگونه می توان در ARCGIS یک Toolbar با استفاده از زبان Vb و استفاده از function های Arcobjects ساخت؟

  27. #27

    نقل قول: کد نویسی در GIS

    با سلام
    لطفا راهنمایی بفرمایید که برای کد نویسی چه چیزی را باید به ویژوال استودیو و پروژه C#‎‎ اضافه کنم؟
    از کدهای زیر ایراد میگیره:
    using ESRI.ArcGIS.esriSystem;
    using ESRI.ArcGIS.Carto;
    using ESRI.ArcGIS.Controls;
    using ESRI.ArcGIS.ADF;
    using ESRI.ArcGIS.SystemUI;
    using ESRI.ArcGIS.Geodatabase;
    using ESRI.ArcGIS.DataSourcesGDB;

    با تشکر

  28. #28
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    kernell
    پست
    106

    نقل قول: کد نویسی در GIS

    عزیزان اموزش به اتمام رسید.بیشتر واقعا ازم برنمیاد چون زحمت زیادی واسشون کشیدم تا یاد گرفتم.بپرسید تا جواب بدم ولی قصد اموزش جامع شون رو ندارم.
    این رفرنسها وقتی arc gis devlopment رو نصب میکنید اتوماتیک میان تو سولوشن.

  29. #29
    کاربر دائمی آواتار rasoul2023
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    <% SYSTEM %>
    سن
    37
    پست
    169

    نقل قول: کد نویسی در GIS

    نقل قول نوشته شده توسط complexcoding مشاهده تاپیک
    آقا GIS که یک نرم افزار زمین شناسیه!!!!
    می شه با سی شارپ توش کدنویسی کرد؟ اگر یاد بگیریم توش نون داره؟ با چه زبانهای دیگه ای می شه برنامه نویسی کرد ؟
    سلام کی گفته GIS برنامه زمین شناسیه ؟ Gis در واقع تشکیل شده از کلمات Geo spacial information system هستش که به بعضیها که دید کوچکی نسبت به GIS دارند Geographic information systemبهش میگند در واقع هسته مرکزی GIS که Toolbox نام داره قادره محاسبات آماری و آنالیزها را انجام بده حالا بسته به هر نیازی این کار انجام میشه در ضمن GIS یکی از تخصصهای نقشه برداری هستش

  30. #30

    نقل قول: کد نویسی در GIS

    از اینکه وقت خود را در راستای آموزش دادن GIS به افرادی مبتدی مثل من قرار دادید متشکرم

  31. #31

    نقل قول: کد نویسی در GIS

    داداش وقتی کل دنیا GIS را به سیستم اطلاعات جغرافیایی ترجمه می کنند شما واسه چی آن را به سیستم اطلاعات مکانی ترجمه می کنید؟ یه کمی دیدتون را جهانی کنید
    اینم سایت ESRI
    http://www.esri.com/what-is-gis

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •