小秋的家

          home

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            1 Posts :: 91 Stories :: 17 Comments :: 0 Trackbacks
          內容摘要
          在ArcIMS9.2中,給用戶提供了Java ADF開發框架。習慣了Java Connector開發的用戶可能會問,Java Connector是否還有用武之地,如何與Java ADF結合起來呢?下面就以圖層要素屬性查詢為例子,說明如何使用Java ADF與Java Connector結合開發實現要素查詢功能。在使用ADF開發中,有許多需要注意的小技巧。本例子也使用粗體的注釋進行了標識。
          過程描述

          開發環境:Eclipse3.2

          開發步驟:

          一、 AdministratorArcIMS

          二、 Eclipse ArcGIS Web Project

          三、 Java FeatureQuery queryFeaturesInRectangle

          package com.wudefu;

          import com.esri.adf.web.data.WebContext;

          import com.esri.adf.web.data.geometry.WebExtent;

          import com.esri.adf.web.data.geometry.WebPoint;

          import com.esri.adf.web.data.*;

          import com.esri.adf.web.faces.event.MapEvent;

          import com.esri.adf.web.aims.data.AIMSMapResource;

          import com.esri.adf.web.aims.data.AIMSMapFunctionality;

          import com.esri.adf.web.aims.data.AIMSTocFunctionality;

          import com.esri.adf.web.aims.data.query.AIMSQueryFunctionality;

          import com.esri.aims.mtier.model.envelope.Envelope;

          import com.esri.aims.mtier.model.map.layer.FeatureLayer;

          import com.esri.aims.mtier.model.map.layer.query.Buffer;

          import com.esri.aims.mtier.model.map.layer.query.Filter;

          import com.esri.aims.mtier.model.map.layer.query.Recordset;

          import com.esri.aims.mtier.model.map.layer.renderer.symbol.SimpleMarkerSymbol;

          import com.esri.aims.mtier.model.map.layer.renderer.symbol.SimplePolygonSymbol;

          import com.esri.aims.mtier.model.map.*;

          import com.esri.aims.mtier.model.map.Map;

          import java.util.*;

          public class FeatureQuery {

              private WebContext context;

              

              //

              public void queryFeaturesInRectangle(MapEvent event){

                      

          //調用JAVA ADF里面的WebControl獲取地圖

                           AIMSMapFunctionality imsMapFun=(AIMSMapFunctionality)aimsMap.getFunctionality(        Map

                 //

                     FeatureLayer fLayer=(FeatureLayer)imsMap.getLayers().item(5);

                     

                 //

                     WebMap webMap=context.getWebMap();

                     WebExtent chosenExent = (WebExtent) event.getWebGeometry().toMapGeometry(webMap);

                     

                 // Java Connector

                     Envelope env=new Envelope();

                     env.setMaxX(chosenExent.getMaxX());

                     env.setMaxY(chosenExent.getMaxY());

                     env.setMinX(chosenExent.getMinX());

                     env.setMinY(chosenExent.getMinY());

                     

                     //

                     SimpleMarkerSymbol sms = new SimpleMarkerSymbol(); 

                     sms.setColor("0,0,255");

                     sms.setMarkerType(sms.STAR);

                     sms.setWidth(20);

                     Filter filter=new Filter();

                     filter.setSpatialShape(env);         

                     filter.setGlobalEnvelope(true);

                     fLayer.setFilterObject(filter);

                   

                     //filterupdate Recordset

                     webMap.update(context, null);

                    //Java Connector

                    int a=fLayer.getRecordset().getCount();

          //int b=fLayer.getFeatureCount();

                    System.out.println(a);

                                    

                    String fieldNames[]=new String[fLayer.getRecordset().getTableDesc().getCount()];

                    String fieldValues[]=new String[fLayer.getRecordset().getTableDesc().getCount()];

                    for(int i=0;i<fLayer.getRecordset().getCount();i++){

                            for (int k=0; k<fLayer.getRecordset().getTableDesc().getCount(); k++) {

                                fieldNames[k]= fLayer.getRecordset().getTableDesc().getFieldName(k);

                                fieldValues[k]=fLayer.getRecordset().getRecords(i).getFieldValue(k);

                                System.out.println(fieldNames[k]);

                                System.out.println(fieldValues[k]);                   

                            }

                    }

                    

                     imsMap.displayFeatures(fLayer,true,sms);       

                     webMap.update(context, null);

                     //imsMap.refresh()

                  imsMap.reset();            

              }        

             }

          四、                                          五、 mapviewer.jsp

                    toolTip="

          <span style="font-family: 宋體;" Times

          posted on 2008-03-04 15:25 棋劍小秋 閱讀(860) 評論(0)  編輯  收藏 所屬分類: GIS
          主站蜘蛛池模板: 通州市| 洛浦县| 惠东县| 航空| 宜川县| 峨山| 泰州市| 蕲春县| 措美县| 赣州市| 莱芜市| 冕宁县| 南江县| 云龙县| 巴彦淖尔市| 长岛县| 焦作市| 三门县| 宁河县| 新闻| 陇西县| 湘潭县| 德保县| 瑞安市| 庆阳市| 绥阳县| 宿州市| 尼木县| 余江县| 甘洛县| 望都县| 抚远县| 三亚市| 河东区| 增城市| 禄丰县| 佛坪县| 体育| 普洱| 衡水市| 平乡县|