osman hömek / not defteri

September 25, 2008

arcgis server (arcobject) 9.2 sp6 toolbox web den nasıl çalıştırılır?

Filed under: arcobjects — osman @ 2:29 pm

alttaki ornekte toolbox modellerinin webden nasil calistirildigini goruyorsunuz

onemli noktalar
Geoprocessor GP = new Geoprocessor(); nin namespace i ESRI.ArcGIS.Geoprocessor
modelin tam ismini gormek icin modelin ustunde sagi tiklayip properties i tikladiktan sonra Name bolumunde gorebilirsiniz
Label olani degil Name i yazmaniz gerekli (bu bana 1-2 saate maloldu)
ote yandan bukadar parametreyi nasil yazdik derseniz
arcmap a git modelinin icerigini (yani aldiklari parametreleri) istedigin gibi doldur
sonrasinda calistir sorunsuz calistigini dusunuyorsan
modeli export et ben python u sevdigim icin python a donusturdum
iste orada bulunan SpatialJoin_analysis() fonksiyonuna gonderilen her parametre buradaki ile ayni

son olarak performans rezalet
nerdesiinnn oracle spatial!!!
afiyet olsun

bu isin nasil yapildigini anlatmayan ieseray cilarada kil oldugumu hususen belirtmek isterim
heey shame on ESRI
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace spat01
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            spatialJoinFunc();
        }

        private void spatialJoinFunc()
        {
            ESRI.ArcGIS.Geoprocessor.Geoprocessor GP = new ESRI.ArcGIS.Geoprocessor.Geoprocessor();
            string MyToolbox = “”;
            string MyModel = “”;

            try
            {
                MyToolbox = string.Format(@”C:\Program Files\ArcGIS\ArcToolbox\Toolboxes\Analysis Tools.tbx”);
                GP.AddToolbox(MyToolbox);
                MyModel = “SpatialJoin”;

                ESRI.ArcGIS.esriSystem.IVariantArray parameters = new ESRI.ArcGIS.esriSystem.VarArrayClass();
                parameters.Add(@”Database Connections\\sdeDATA.sde\\geoUser.NoktaKatman”);
                parameters.Add(@”Database Connections\\sdeDATA.sde\\geoUser.AlanKatman”);
                parameters.Add(@”Database Connections\\sdeDATA.sde\\geoUser.SpatialSonuc”);
                parameters.Add(@”JOIN_ONE_TO_MANY”);
                parameters.Add(@”KEEP_ALL”);
                parameters.Add(@”BSIKOD BSIKOD true true false 50 Text 0 0 ,First,#,Database Connections\sdeDATA.sde\geoUser.NoktaKatman,KOD,-1,-1;BSIAD BSIAD true true false 255 Text 0 0 ,First,#,Database Connections\sdeDATA.sde\geoUser.NoktaKatman,AD,-1,-1;BSITIP BSITIP true true false 100 Text 0 0 ,First,#,Database Connections\sdeDATA.sde\geoUser.NoktaKatman,TIP,-1,-1;ILKOD ILKOD true true false 50 Text 0 0 ,First,#,Database Connections\sdeDATA.sde\geoUser.AlanKatman,KOD,-1,-1;ILAD ILAD true true false 100 Text 0 0 ,First,#,Database Connections\sdeDATA.sde\geoUser.AlanKatman,AD,-1,-1;ILTIP ILTIP true true false 100 Text 0 0 ,First,#,Database Connections\sdeDATA.sde\geoUser.AlanKatman,TIP,-1,-1″);
                parameters.Add(@”IS_WITHIN”);
                parameters.Add(”0 Meters”);

                GP.Execute(MyModel, parameters, null);
                ReturnMessages(GP);
            }
            catch (Exception etc)
            {
                Response.Write(etc.Message.ToString());
            }
        }

        public void ReturnMessages(ESRI.ArcGIS.Geoprocessor.Geoprocessor gp)
        {
            if (gp.MessageCount > 0)
            {
                for (int Count = 0; Count < gp.MessageCount - 1; Count++)
                {
                    Response.Write(gp.GetMessage(Count) + “<br>”);
                }
            }
        }
    }
}

Powered by WordPress