<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 119, comments - 62, trackbacks - 0, articles - 0

    利用Java進行AcrSDE開發。

    Posted on 2006-04-30 13:21 Kevin Meng 閱讀(624) 評論(0)  編輯  收藏
    ArcSDE提供了C API和Java API兩種接口。這里我們只導論如何通過Java API進行arcSDE開發。
    開發環境:
    JDK 1.5
    WIN 插P
    Eclipse 3.1+MyEclipse
    ArcSDE for Oracle 9i
    (1)把arcSDE java API所需要的三個jar包導到web\lib目錄,包括jsde90_sdk.jar,jpe90_sdk.jar ,concurrent.jar;
    (2)添加點:
    public?class?AddPointBean?{
    ????
    public?static?boolean?process(HttpServletRequest?request,
    ????????????HttpServletResponse?response)?
    throws?Exception?{
    ????????Map?map
    =null;
    ????????
    if?(request.getSession().getAttribute(StaticConstant.SESSION_MAP)?==?null)?{
    ????????????String?strErr?
    =?"地圖還沒有初始化";
    ????????????request.setAttribute(StaticConstant.REQUEST_ERROR,?strErr);
    ????????????
    return?false;
    ????????}

    ????????map
    =(Map)request.getSession().getAttribute(StaticConstant.SESSION_MAP);
    ????????
    //連接SDE
    ????????SeConnection?conn?=?null;
    ????????String?server?
    =?"menglikunm";
    ????????
    int?instance?=?5151;
    ????????String?database?
    =?"ora";
    ????????String?user?
    =?"sde";
    ????????String?password?
    =?"sde";
    ????????SeLayer?insertLayer
    =null;
    ????????
    try?{
    ????????????conn?
    =?new?SeConnection(server,?instance,?database,?user,?password);
    ????????????Vector?layerList?
    =?conn.getLayers();
    ????????????
    for?(int?index?=?0;?index?<?layerList.size();?index++)?{
    ????????????????SeLayer?layer?
    =?(SeLayer)?layerList.elementAt(index);
    ????????????????
    //?Displays?the?layer’s?name
    ????????????????System.out.println(layer.getName());
    ????????????????
    //?Displays?the?layer’s?ID
    ????????????????System.out.println(layer.getID().longValue());
    ????????????????
    //?Displays?the?layer’s?spatial?column?name
    ????????????????System.out.println(layer.getSpatialColumn());
    ????????????????
    if(layer.getName().equalsIgnoreCase("ZHENGFUJIGUAN")){
    ????????????????????insertLayer
    =layer;
    ????????????????}

    ????????????}

    ????????}
    ?catch?(SeException?e)?{
    ????????????e.printStackTrace();
    ????????????
    return?false;
    ????????}

    ????????
    //開始插入數據
    ????????try{
    ????????????conn.startTransaction();
    ????????????String[]?cols?
    =?new?String[2];
    ????????????cols[
    0]?=?new?String("NAME");
    ????????????cols[
    1]?=?insertLayer.getSpatialColumn();
    ????????????SeInsert?insert?
    =?new?SeInsert(conn);
    ????????????insert.intoTable(insertLayer.getName(),cols);
    ????????????insert.setWriteMode(
    true);
    ????????????SeCoordinateReference?coordref?
    =(SeCoordinateReference)insertLayer.getCoordRef();
    ????????????SeShape?shape?
    =?new?SeShape(coordref);
    ????????????
    double?x=map.toMapPoint(10,10).getX();
    ????????????
    double?y=map.toMapPoint(10,10).getY();
    ????????????
    ????????????
    int?numPts?=?1;
    ????????????SDEPoint[]?ptArray?
    =?new?SDEPoint[numPts];
    ????????????ptArray[
    0]?=?new?SDEPoint(x,?y);
    ????????????shape.generatePoint(numPts,?ptArray);
    ????????????
    ????????????SeRow?row?
    =?insert.getRowToSet();
    ????????????row.setString(
    0,?"測驗點");
    ????????????row.setShape(
    1,shape);
    ????????????insert.execute();
    ????????????insert.close();
    ????????????conn.commitTransaction();
    ????????????conn.close();
    ????????}
    catch(Exception?ex){
    ????????????conn.rollbackTransaction();
    ????????????conn.close();
    ????????????ex.printStackTrace();
    ????????}

    ????????
    return?true;
    ????}

    }
    (3)刪除點:
    public?class?DeletePointBean?{
    ????
    public?static?boolean?process(HttpServletRequest?request,
    ????????????HttpServletResponse?response)?
    throws?Exception?{
    ????????
    //連接SDE
    ????????SeConnection?conn?=?null;
    ????????String?server?
    =?"menglikunm";
    ????????
    int?instance?=?5151;
    ????????String?database?
    =?"ora";
    ????????String?user?
    =?"sde";
    ????????String?password?
    =?"sde";
    ????????
    try?{
    ????????????conn?
    =?new?SeConnection(server,?instance,?database,?user,?password);
    ????????????Vector?layerList?
    =?conn.getLayers();
    ????????????
    for?(int?index?=?0;?index?<?layerList.size();?index++)?{
    ????????????????SeLayer?layer?
    =?(SeLayer)?layerList.elementAt(index);
    ????????????????
    //?Displays?the?layer’s?name
    ????????????????System.out.println(layer.getName());
    ????????????????
    //?Displays?the?layer’s?ID
    ????????????????System.out.println(layer.getID().longValue());
    ????????????????
    //?Displays?the?layer’s?spatial?column?name
    ????????????????System.out.println(layer.getSpatialColumn());
    ????????????}

    ????????}
    ?catch?(SeException?e)?{
    ????????????e.printStackTrace();
    ????????????
    return?false;
    ????????}

    ????????
    //開始刪除數據
    ????????try{
    ????????????conn.startTransaction();
    ????????????SeDelete?delete
    =new?SeDelete(conn);
    ????????????SeObjectId?id
    =new?SeObjectId(641);
    ????????????delete.byId(
    "ZHENGFUJIGUAN",id);
    ????????????conn.commitTransaction();
    ????????????delete.close();
    ????????}
    catch(Exception?ex){
    ????????????conn.rollbackTransaction();
    ????????????conn.close();
    ????????????ex.printStackTrace();
    ????????}

    ????????
    return?true;
    ????}

    }
    (4)高興一把,就是這么簡單。更多內容請參考arcSDE幫助。

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: jlzzjlzz亚洲乱熟在线播放| 日本人的色道免费网站| 日本免费人成黄页网观看视频| 亚洲国产精品人久久电影| **一级一级毛片免费观看| 亚洲国产精品婷婷久久| **一级毛片免费完整视| 在线免费观看亚洲| 国产1000部成人免费视频| 亚洲av无码专区在线| 成人AV免费网址在线观看| 亚洲精品无码久久久久YW| 国产aa免费视频| 一个人看的www免费在线视频| 亚洲丝袜中文字幕| 最近中文字幕无吗高清免费视频| 亚洲最大天堂无码精品区| 四虎免费影院4hu永久免费| 猫咪免费人成网站在线观看入口 | 91成人免费观看| 91亚洲性爱在线视频| 成年女人喷潮毛片免费播放| 小说专区亚洲春色校园| 永久亚洲成a人片777777| 久草视频在线免费看| 亚洲国产一区在线观看| 国产成人青青热久免费精品| 一级毛片aaaaaa视频免费看| 亚洲AV午夜成人片| 无码专区永久免费AV网站| 自拍偷自拍亚洲精品播放| 在线亚洲97se亚洲综合在线| 91高清免费国产自产拍2021| 亚洲中文字幕久久无码| 国产成人99久久亚洲综合精品| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 久久A级毛片免费观看| 亚洲AV无码专区国产乱码不卡| 久久久青草青青国产亚洲免观| 97青青草原国产免费观看| 亚洲AV日韩AV永久无码色欲|