<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
    下面是矩形選擇的源代碼。多邊形選擇多加點(diǎn)就可以了。
    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("地物點(diǎn)"))?{
    ????????????????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",?"地物點(diǎn)"));
    ????????????
    this.saveMessages(request,?msgs);
    ????????????
    return?mapping.findForward("resultPage");
    ????????}

    ????????map.getLayers().setGeometry(
    true);//?設(shè)置返回空間信息
    ????????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:起點(diǎn)屏幕X坐標(biāo)
    ?????*?
    @param?starty:起點(diǎn)屏幕Y坐標(biāo)
    ?????*?
    @param?endx:終點(diǎn)屏幕X坐標(biāo)
    ?????*?
    @param?endy:終點(diǎn)屏幕Y坐標(biāo)
    ?????*?
    @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如何實(shí)現(xiàn)多邊形選擇  回復(fù)  更多評(píng)論   

    2008-09-10 11:21 by onejavaer
    請(qǐng)問一下 您是使用ArcIMS WebADF結(jié)合Strtus進(jìn)行開發(fā)的嗎?
    我開發(fā)WebGIS一直使用ArcIMS的HtmlViewer模式了 沒有嘗試使用ADF 有些不清楚的地方請(qǐng)您指點(diǎn)一下 謝謝

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产亚洲福利在线视频| 国产成人免费永久播放视频平台 | 亚洲婷婷五月综合狠狠爱| 中文字幕亚洲无线码a| 久久亚洲精品成人AV| 亚洲精品视频在线免费| 亚洲免费在线播放| 亚洲国产夜色在线观看| 日本一区二区在线免费观看 | 久久亚洲色一区二区三区| 久久久久亚洲AV无码麻豆| 美女被cao网站免费看在线看| 台湾一级毛片永久免费| 日本高清色本免费现在观看| 国产成人亚洲综合色影视| 亚洲欧美精品午睡沙发| 一级毛片成人免费看a| 1区2区3区产品乱码免费| 免费国产在线观看老王影院| 精品亚洲A∨无码一区二区三区| 久久永久免费人妻精品| 国产青草视频免费观看97| 麻豆安全免费网址入口| 最近高清中文字幕无吗免费看| 亚洲精品制服丝袜四区| 国产特级淫片免费看| selaoban在线视频免费精品| 久久免费看黄a级毛片| 日韩亚洲国产综合高清| 亚洲一区精品伊人久久伊人| 亚洲欧美乱色情图片| 国产亚洲人成A在线V网站| 1000部拍拍拍18勿入免费视频下载| 国产成人精品日本亚洲专| 99免费视频观看| 亚洲福利在线观看| 日韩免费高清播放器| 国产av无码专区亚洲国产精品| 久久免费观看国产99精品| 亚洲欧美日韩综合久久久久| 91麻豆国产自产在线观看亚洲|