<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

    arcIMS如何實現多邊形選擇

    Posted on 2007-03-20 17:16 Kevin Meng 閱讀(385) 評論(1)  編輯  收藏
    下面是矩形選擇的源代碼。多邊形選擇多加點就可以了。
    public?class?RectSelectAction?extends?Action?{

    ????
    //?---------------------------------------------------------?Instance
    ????
    //?Variables

    ????
    //?---------------------------------------------------------?Methods

    ????
    /**
    ?????*?Method?execute
    ?????*?
    ?????*?
    @param?mapping
    ?????*?
    @param?form
    ?????*?
    @param?request
    ?????*?
    @param?response
    ?????*?
    @return?ActionForward
    ?????
    */

    ????
    public?ActionForward?execute(ActionMapping?mapping,?ActionForm?form,
    ????????????HttpServletRequest?request,?HttpServletResponse?response)?
    {
    ????????DynaActionForm?rectSelectForm?
    =?(DynaActionForm)?form;
    ????????String?startx?
    =?rectSelectForm.getString("startx");
    ????????String?starty?
    =?rectSelectForm.getString("starty");
    ????????String?endx?
    =?rectSelectForm.getString("endx");
    ????????String?endy?
    =?rectSelectForm.getString("endy");
    ????????Map?map?
    =?(Map)?request.getSession().getAttribute("THEMAP");
    ????????Polygon?polygon?
    =?this.creatPolygon(map,?startx,?starty,?endx,?endy);
    ????????
    if?(polygon?==?null)?{
    ????????????ActionMessages?msgs?
    =?new?ActionMessages();
    ????????????msgs.add(ActionMessages.GLOBAL_MESSAGE,?
    new?ActionMessage(
    ????????????????????
    "com.suzhou.message.createPolygonFail"));
    ????????????
    this.saveMessages(request,?msgs);
    ????????????
    return?mapping.findForward("resultPage");
    ????????}

    ????????FeatureLayer?menpaiLayer?
    =?null;
    ????????
    for?(int?i?=?0;?i?<?map.getLayers().getCount();?i++)?{
    ????????????
    if?(map.getLayers().item(i).getName().equals("地物點"))?{
    ????????????????menpaiLayer?
    =?(FeatureLayer)?map.getLayers().item(i);
    ????????????????System.out.println(menpaiLayer.getName());
    ????????????????System.out.println(menpaiLayer.getID());
    ????????????}

    ????????}

    ????????
    if?(menpaiLayer?==?null)?{
    ????????????ActionMessages?msgs?
    =?new?ActionMessages();
    ????????????msgs.add(ActionMessages.GLOBAL_MESSAGE,?
    new?ActionMessage(
    ????????????????????
    "com.suzhou.message.layerNotExsist",?"地物點"));
    ????????????
    this.saveMessages(request,?msgs);
    ????????????
    return?mapping.findForward("resultPage");
    ????????}

    ????????map.getLayers().setGeometry(
    true);//?設置返回空間信息
    ????????menpaiLayer.getRecordset().clearRecordset();
    ????????menpaiLayer.getRecordset().clearEnvelope();
    ????????menpaiLayer.getRecordset().clearGeometry();
    ????????map.getLayers().setOrder(
    false);
    ????????menpaiLayer.setFilterObject(
    null);
    ????????Filter?filter2?
    =?new?Filter();
    //????????filter2.addSubField("BLOCKNAME");
    //????????filter2.addSubField("MPNUM");
    //????????filter2.addSubField("MPABNAME");
    //????????filter2.addSubField("MPSUBNUM");
    ????????
    //filter2.setWhereExpression("");
    ????????filter2.setGlobalEnvelope(true);
    ????????filter2.setSpatialShape(polygon);
    ????????filter2.setRelation(Filter.AREA_INTERSECTION);
    ????????menpaiLayer.setFilterObject(filter2);
    ????????map.refresh();
    ????????menpaiLayer.setFilterObject(
    null);
    ????????
    if?(menpaiLayer.getRecordset()?==?null
    ????????????????
    ||?menpaiLayer.getRecordset().getCount()?<?1)?{
    ????????????ActionMessages?msgs?
    =?new?ActionMessages();
    ????????????msgs.add(ActionMessages.GLOBAL_MESSAGE,?
    new?ActionMessage(
    ????????????????????
    "com.suzhou.message.objectNotFound"));
    ????????????
    this.saveMessages(request,?msgs);
    ????????????
    return?mapping.findForward("resultPage");
    ????????}
    else{
    ????????????request.setAttribute(
    "result",menpaiLayer.getRecordset());
    ????????????
    return?mapping.findForward("resultPage");
    ????????}

    ????}


    ????
    /**
    ?????*?建立矩形
    ?????*?
    ?????*?
    @param?map
    ?????*?
    @param?startx:起點屏幕X坐標
    ?????*?
    @param?starty:起點屏幕Y坐標
    ?????*?
    @param?endx:終點屏幕X坐標
    ?????*?
    @param?endy:終點屏幕Y坐標
    ?????*?
    @return
    ?????
    */

    ????
    public?Polygon?creatPolygon(Map?map,?String?startx,?String?starty,
    ????????????String?endx,?String?endy)?
    {
    ????????
    try?{
    ????????????Point?pnt1?
    =?map.toMapPoint(new?Double(startx).doubleValue(),
    ????????????????????
    new?Double(starty).doubleValue());
    ????????????Point?pnt2?
    =?map.toMapPoint(new?Double(endx).doubleValue(),
    ????????????????????
    new?Double(endy).doubleValue());
    ????????????Point?pnt11?
    =?new?Point();
    ????????????Point?pnt22?
    =?new?Point();
    ????????????pnt11.setX(pnt1.getX());
    ????????????pnt11.setY(pnt2.getY());
    ????????????pnt22.setX(pnt2.getX());
    ????????????pnt22.setY(pnt1.getY());
    ????????????Points?points?
    =?new?Points();
    ????????????points.addPointObject(pnt1);
    ????????????points.addPointObject(pnt11);
    ????????????points.addPointObject(pnt2);
    ????????????points.addPointObject(pnt22);
    ????????????Ring?ring?
    =?new?Ring();
    ????????????ring.setPoints(points);
    ????????????Polygon?polygon?
    =?new?Polygon();
    ????????????polygon.addRing(ring);
    ????????????
    return?polygon;
    ????????}
    ?catch?(Exception?ex)?{
    ????????????
    return?null;
    ????????}

    ????}

    }

    Feedback

    # re: arcIMS如何實現多邊形選擇  回復  更多評論   

    2008-09-10 11:21 by onejavaer
    請問一下 您是使用ArcIMS WebADF結合Strtus進行開發的嗎?
    我開發WebGIS一直使用ArcIMS的HtmlViewer模式了 沒有嘗試使用ADF 有些不清楚的地方請您指點一下 謝謝

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


    網站導航:
     
    主站蜘蛛池模板: 欧美亚洲国产SUV| 亚洲精品日韩一区二区小说| 日韩电影免费在线观看网址| 国产AV无码专区亚洲AVJULIA| 国产精品久久亚洲一区二区| 日韩免费无码一区二区视频| 亚洲精品GV天堂无码男同| 午夜精品在线免费观看| 国产亚洲精品影视在线产品| 黄色免费网址在线观看| 全部免费毛片在线| 亚洲一区二区三区免费| 伊人久久大香线蕉亚洲| 91视频免费网站| 波多野结衣中文一区二区免费| 亚洲av乱码中文一区二区三区 | 亚洲Aⅴ在线无码播放毛片一线天| 成人性生交大片免费看无遮挡 | 91黑丝国产线观看免费| 亚洲中文字幕日本无线码| 天天摸天天操免费播放小视频| 亚洲精品无播放器在线播放| 国产猛烈高潮尖叫视频免费| 最好2018中文免费视频| 亚洲人成网亚洲欧洲无码久久 | 亚洲精品456人成在线| 国产美女无遮挡免费网站| 人妻免费久久久久久久了| 成全视频免费高清| 偷自拍亚洲视频在线观看| 综合亚洲伊人午夜网| 1000部羞羞禁止免费观看视频| 亚洲国产区男人本色在线观看| 无码欧精品亚洲日韩一区夜夜嗨| 久久久久精品国产亚洲AV无码| 久久精品毛片免费观看| 亚洲日本VA中文字幕久久道具| 免费看h片的网站| 杨幂最新免费特级毛片| 久久亚洲私人国产精品| 日本人的色道www免费一区|