?? postbean.java
字號:
package com.charmdx.webgis.bean;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.esri.aims.mtier.dx.*;
public class PostBean extends HttpServlet {
private static final long serialVersionUID = 4526280231139593337L;
//變量聲明
String serverName = "localhost";
String serviceName = "";
int port = 5300;
double minx = 0;
double miny = 0;
double maxx = 0;
double maxy = 0;
long imageWidth = 600;
long imageHeight = 450;
String toolMode = "";
String activeLayerId = "0";
String bufferLayerId = "0";
double bufDis = 0;
String lyrVis = "";
String pointsXY = "";
String strSQL = "";
boolean doExtent = false;
boolean doOpen = false;
boolean doShow = false;
String selectTool = "";
//chart
boolean isJoin=false;
String chartFields="";
String chartType="bar";
//map service
MapService map = null;
MapAcetate mapAcet = null;
MapLayersAll mapLyrs = null;
//初始化變量
public PostBean() {
map=new MapService();
mapAcet = new MapAcetate();
mapLyrs = new MapLayersAll();
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
//init(request);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
//init(request);
}
public void init(HttpServletRequest request) {
if (request.getParameter("hostName_hidden") != null) {
serverName = request.getParameter("hostName_hidden");
}
if (request.getParameter("serviceName_hidden") != null) {
serviceName = request.getParameter("serviceName_hidden");
}
if (request.getParameter("port_hidden") != null) {
port = Integer.parseInt(request.getParameter("port_hidden"));
}
if (request.getParameter("minX_hidden") != null) {
minx = Double.parseDouble(request.getParameter("minX_hidden"));
}
if (request.getParameter("minY_hidden") != null) {
miny = Double.parseDouble(request.getParameter("minY_hidden"));
}
if (request.getParameter("maxX_hidden") != null) {
maxx = Double.parseDouble(request.getParameter("maxX_hidden"));
}
if (request.getParameter("maxY_hidden") != null) {
maxy = Double.parseDouble(request.getParameter("maxY_hidden"));
}
if (request.getParameter("imageWidth_hidden") != null) {
imageWidth = Long.parseLong(request.getParameter("imageWidth_hidden"));
}
if (request.getParameter("imageHeight_hidden") != null) {
imageHeight = Long.parseLong(request.getParameter("imageHeight_hidden"));
}
if (request.getParameter("toolMode_hidden") != null) {
toolMode = request.getParameter("toolMode_hidden");
}
if (request.getParameter("selectTool_hidden") != null) {
selectTool = request.getParameter("selectTool_hidden");
}
if (request.getParameter("acLayerID_hidden") != null) {
activeLayerId = request.getParameter("acLayerID_hidden");
}
if (request.getParameter("bufLayerID_hidden") != null) {
bufferLayerId = request.getParameter("bufLayerID_hidden");
}
if (request.getParameter("bufDis_hidden") != null) {
bufDis = Double.parseDouble(request.getParameter("bufDis_hidden"));
}
if (request.getParameter("ptsXY_hidden") != null) {
pointsXY = request.getParameter("ptsXY_hidden");
}
if (request.getParameter("strSQL_hidden") != null) {
strSQL = request.getParameter("strSQL_hidden");
}
if (request.getParameter("doExtent_hidden") != null) {
doExtent = (request.getParameter("doExtent_hidden").equalsIgnoreCase("yes") || request.getParameter("doExtent_hidden").equalsIgnoreCase("true"));
}
if (request.getParameter("doShow_hidden") != null) {
doShow = (request.getParameter("doShow_hidden").equalsIgnoreCase("yes") || request.getParameter("doShow_hidden").equalsIgnoreCase("true"));
}
if (request.getParameter("doOpen_hidden") != null) {
doOpen = (request.getParameter("doOpen_hidden").equalsIgnoreCase("yes") || request.getParameter("doOpen_hidden").equalsIgnoreCase("true"));
}
if (request.getParameter("isJoin_hidden") != null) {
isJoin = (request.getParameter("isJoin_hidden").equalsIgnoreCase("yes") || request.getParameter("isJoin_hidden").equalsIgnoreCase("true"));
}
if (request.getParameter("layerVis_hidden") != null) {
lyrVis = request.getParameter("layerVis_hidden");
}
if (request.getParameter("chartFields_hidden") != null) {
chartFields = request.getParameter("chartFields_hidden");
}
if (request.getParameter("chartType_hidden") != null) {
chartType = request.getParameter("chartType_hidden");
}
}
//動作響應(yīng)
public void doAction(HttpServletRequest request, HttpServletResponse response) {
try{
map.initMapService(serverName, port, serviceName);
map.setLegend();
mapLyrs.setMapInstance(map.getMapInstance());
map.setMapWidthHeight(imageWidth, imageHeight);
if (maxx != minx && maxy != miny) {
map.setMapExtent(maxx, maxy, minx, miny);
}
if (toolMode.equalsIgnoreCase("fullextent")) {
map.setMapFullExtent();
}
map.setActiveFeatureLayer(activeLayerId);
if (!lyrVis.equals("")) {
mapLyrs.setLayersVisible(lyrVis);
}
//空間和屬性查詢
if ( (!pointsXY.equals("") || !strSQL.equals("")) && !selectTool.equals("")) {
String filterType = null;
if (selectTool.equalsIgnoreCase("selectpoint")) {
filterType = ConfigService.FILTER_TYPE_POINT;
}
else if (selectTool.equalsIgnoreCase("selectrect")) {
filterType = ConfigService.FILTER_TYPE_RECT;
}
else if (selectTool.equalsIgnoreCase("selectline")) {
filterType = ConfigService.FILTER_TYPE_LINE;
//map.createAcetateShapeLayer(map.createShape(pointsXY,filterType),ConfigService.ACETATE_LINE);
}
else if (selectTool.equalsIgnoreCase("selectpoly")) {
filterType = ConfigService.FILTER_TYPE_POLY;
//map.createAcetateShapeLayer(map.createShape(pointsXY,filterType),ConfigService.ACETATE_POLY);
}
else if (selectTool.equalsIgnoreCase("selectcircle")) {
filterType = ConfigService.FILTER_TYPE_CIRCLE;
//map.createAcetateShapeLayer(map.createShape(pointsXY,filterType),ConfigService.ACETATE_POLY);
}
else if (selectTool.equalsIgnoreCase("selectquery")) {
filterType = ConfigService.FILTER_TYPE_SQL;
}
else {
filterType = "";
}
map.filterShape(activeLayerId, map.createShape(pointsXY,filterType), "name,objectid",strSQL,doExtent);
if(doOpen){
RecordsetBean.setFilterMap(map.getFilterMap());
RecordsetBean.setLocId(map.getActiveFeatureLayerId());
String str="open('filterResult.jsp','ResultData','width=600,height=400,scrollbars,resizable');";
response.getWriter().write("<scr" + "ipt>" + str + "</scr" + "ipt>");
}
}
//緩沖分析
if(toolMode.equalsIgnoreCase("buffer")){
map.filterBuffer(activeLayerId,bufferLayerId,bufDis,ConfigService.BUFFER_UNIT_KILOMETERS, "name,objectid", strSQL, doExtent);
RecordsetBean.setBufferMap(map.getBufferMap());
RecordsetBean.setLocId(map.getBufferLayerId());
}else{
RecordsetBean.destroyBuffer();
}
//專題地圖
if(toolMode.equalsIgnoreCase("chart") && !chartFields.equals("")){
if(isJoin){
map.isJoinTable(isJoin);
map.setJoinTableParam("sde.北京_區(qū)縣界面","sde.s_infection", "name");
}
map.makeChart(activeLayerId,chartFields,chartType);
map.setMapFullExtent();
}
//設(shè)置圖層屬性
mapLyrs.setLayerAttribute();
map.mapRefresh();
this.saveJScript(request,response);
}catch(Exception ex){
System.out.println(ex.toString());
}
}
//獲取 map 變量
public String getServerName() {
return serverName;
}
public String getServiceName() {
return serviceName;
}
public int getServerPort() {
return port;
}
public String gettoolMode() {
return toolMode;
}
public String getPointsXY() {
return pointsXY;
}
public String getStrSQL() {
return strSQL;
}
public String getSelectTool() {
return selectTool;
}
public long getMapWidth(){
return map.getMapWidth();
}
public long getMapHeight(){
return map.getMapHeight();
}
public double getMinX(){
return map.getMinX();
}
public double getMinY(){
return map.getMinY();
}
public double getMaxX(){
return map.getMaxX();
}
public double getMaxY(){
return map.getMaxY();
}
public String getActiveFeatureLayerId(){
return map.getActiveFeatureLayerId();
}
public String getBufferLayerId(){
return bufferLayerId;
}
public String getLayersVisible(){
return mapLyrs.getLayersVisible();
}
public String getLegendUrl(){
return map.getLegendUrl();
}
public String getMapUrl(){
return map.getMapUrl();
}
public Vector getlayerId() {
return (Vector)mapLyrs.getLayerAttribute().get(ConfigService.MAP_LAYER_ID);
}
public Vector getlayerName() {
return (Vector)mapLyrs.getLayerAttribute().get(ConfigService.MAP_LAYER_NAME);
}
public Vector getlayerVisible() {
return (Vector)mapLyrs.getLayerAttribute().get(ConfigService.MAP_LAYER_VISIBLE);
}
public Vector getlayerType() {
return (Vector)mapLyrs.getLayerAttribute().get(ConfigService.MAP_LAYER_TYPE);
}
public Vector getlayerFeatureType() {
return (Vector)mapLyrs.getLayerAttribute().get(ConfigService.MAP_LAYER_FEATURETYPE);
}
public Vector getlayerMaxScale() {
return (Vector)mapLyrs.getLayerAttribute().get(ConfigService.MAP_LAYER_MAXSCALE);
}
public Vector getlayerMinScale() {
return (Vector)mapLyrs.getLayerAttribute().get(ConfigService.MAP_LAYER_MINSCALE);
}
public void saveJScript(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String m_str = "top.frames(\"leftLayer\").frames(\"legendIframe\").legendImg.src=\""+this.getLegendUrl()+"\";";
m_str += "var lyr=top.frames(\"leftLayer\").frames(\"layerIframe\").document.getElementById(\"layer_form\");";
m_str += "if(lyr!=null) lyr.submit();";
m_str += "var map=top.frames(\"mapLayer\");";
m_str += "map.mapImage.src=\""+this.getMapUrl()+"\";";
m_str += "map.mapImage.style.top = 0;map.mapImage.style.left = 0;";
for(int i=0;i<this.getlayerId().size();i++) {
m_str += "map.LayerID["+i+"]=\""+this.getlayerId().get(i)+"\";";
m_str += "map.LayerName["+i+"]=\""+this.getlayerName().get(i)+"\";";
m_str += "map.LayerType["+i+"]=\""+this.getlayerType().get(i)+"\";";
m_str += "map.LayerVisible["+i+"]="+this.getlayerVisible().get(i)+";";
m_str += "map.LayerMaxScale["+i+"]="+this.getlayerMaxScale().get(i)+";";
m_str += "map.LayerMinScale["+i+"]="+this.getlayerMinScale().get(i)+";";
m_str += "map.LayerFeatureType["+i+"]=\""+this.getlayerFeatureType().get(i)+"\";";
}
m_str += "map.updateMapAttrib(\""+this.getActiveFeatureLayerId()+"\",\""+this.getServerName()+"\",\""+this.getServiceName()+"\","+this.getServerPort()+");";
m_str += "map.updateCoords("+this.getMinX()+","+this.getMinY()+","+this.getMaxX()+","+this.getMaxY()+");";
m_str += "map.hideLayer(\"LoadData\");";
response.getWriter().write("<scr" + "ipt>" + m_str + "</scr" + "ipt>");
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -