FME Object API Write to SDE30 空間表執行個體

來源:互聯網
上載者:User
//FME Object API Write to SDE30 空間表執行個體
//vp:hsg 
//create date:2012-07-06        static void WriteExample_SDE()        {            // Creates the session            IFMEOSession fmeSession = FMEObjects.CreateSession();            fmeSession.Init(null);            // Creates the oracle spatial writer            IFMEOWriter fmeWriter = fmeSession.CreateWriter("SDE30", null);            //記錄檔設定            string appPath = Assembly.GetExecutingAssembly().Location;            int index = appPath.LastIndexOf("\\", appPath.Length - 1);            string appFolder = appPath.Substring(0, index);            string logFilePath = appFolder + "\\log.txt";            //----------------            //Get the log file object from the session            IFMEOLogFile fmeLogFile = fmeSession.LogFile();            //Set the path of the log file            fmeLogFile.SetFileName(logFilePath, false);            //----------------            string FeatureType = "V_TDLYXZ_DLTB_H";            IFMEOReader fmeReader = fmeSession.CreateReader("ORACLE8I", true, null);            StringCollection readerParams = new StringCollection();            #region //設定參數            readerParams.Add("DATASET");            readerParams.Add("xpserver");            //            readerParams.Add("USER_NAME");            readerParams.Add("cdbfsgdb");            //            readerParams.Add("PASSWORD");            readerParams.Add("1");            //            //開啟圖層名稱(要素類)v_tdlyxz_dltb_h            /**/            readerParams.Add("DEF");            readerParams.Add(FeatureType);            //            readerParams.Add("IDs");            readerParams.Add(FeatureType);            //            readerParams.Add("WHERE_CLAUSE");            readerParams.Add("zldwdm like '510113%' ");                         //            #endregion            fmeReader.Open("xpserver", readerParams);  //oracle的net service名稱xpserver            StringCollection writerParms = new StringCollection();            #region //設定參數            writerParms.Add("SERVER");  //伺服器            writerParms.Add("rjb-scsup");   //伺服器的值            //            writerParms.Add("INSTANCE");   //執行個體            writerParms.Add("port:5151");  //執行個體的值            //            writerParms.Add("USERID");   //使用者名稱            writerParms.Add("sde");      //使用者名稱的值            //            writerParms.Add("PASSWORD");   //密碼            writerParms.Add("sde");        //密碼的值            //            writerParms.Add("VERSION_NAME");   //版本            writerParms.Add("SDE.DEFAULT");    //版本的值            //            writerParms.Add("DEF");          //要寫入的要素類            writerParms.Add(FeatureType);    //要寫入的要素類的值            //            writerParms.Add("IDs");          //要寫入的要素類            writerParms.Add(FeatureType);    //要寫入的要素類的值            //            writerParms.Add("WRITER_MODE");            writerParms.Add("INSERT");  //INSERT | UPDATE | DELETE            //            writerParms.Add("SIMPLIFY_GEOM");               writerParms.Add("YES");  //YES | NO            #endregion            fmeWriter.Open("rjb-scsup", writerParms);  //oracle的SDE名稱rjb-scsup            //插入原有要素(//讀取要的資料要素)                        bool bReadTrue = true;            IFMEOFeature fmefeat_insert=null;            int index_insert = 0;            while (bReadTrue == true)            {                fmefeat_insert = fmeSession.CreateFeature();                bReadTrue = fmeReader.Read(fmefeat_insert);                if (bReadTrue == true)                {                    if (fmefeat_insert != null)                    {                                                //fmeWriter.Write(fmedelfeat);                        IFMEOFeature fmeFeature = fmeSession.CreateFeature();                        fmeFeature.FeatureType = FeatureType;   //圖層名稱                        fmeFeature.SetSequencedAttribute("fme_type", "fme_area");                        fmeFeature.GeometryType = FMEOGeometry.Polygon;  //面                        fmeFeature.Dimension = FMEODimension.Two;   //二維                        fmeFeature.SetGeometry(fmefeat_insert.GetGeometry()); //圖形                        fmefeat_insert.CloneAttributes(fmeFeature);           //屬性                        //                        fmeWriter.Write(fmeFeature);                        //                        index_insert += 1;                        Console.WriteLine("插入要素index=" + index_insert);                    }                }            }            fmeReader.Dispose();            fmeReader = null;            #region //建立一個新要素 Creates a feature to write out            /*            IFMEOFeature fmeFeature = fmeSession.CreateFeature();            fmeFeature.FeatureType = FeatureType;   //圖層名稱            fmeFeature.SetSequencedAttribute("fme_type", "fme_area");            fmeFeature.GeometryType = FMEOGeometry.Polygon;  //面            fmeFeature.Dimension = FMEODimension.Two;   //二維            fmeFeature.Add2DCoordinate(5, 5);            fmeFeature.Add2DCoordinate(5, 10);            fmeFeature.Add2DCoordinate(10, 10);            fmeFeature.Add2DCoordinate(5, 5);            //                        fmeFeature.SetStringAttribute("FID", System.Guid.NewGuid().ToString());            fmeFeature.SetStringAttribute("zldwdm","51011300X");            // Writes the created feature. A table named DRAWING will be created.            fmeWriter.Write(fmeFeature);             */            #endregion            // Closes the writer            fmeWriter.Close();            fmeWriter.Dispose();        }

----the--end---

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.