📄 mysel3.jsp
字号:
<%@ page import="com.esri.aims.mtier.io.*,com.esri.aims.mtier.model.map.layer.FeatureLayer, com.esri.aims.mtier.model.map.layer.query.*,com.esri.aims.mtier.model.acetate.Point, com.esri.aims.mtier.model.acetate.Points,com.esri.aims.mtier.model.acetate.Polygon, com.esri.aims.mtier.model.acetate.Hole,com.esri.aims.mtier.model.acetate.Ring" %>
<jsp:useBean id="connection" class="com.esri.aims.mtier.io.ConnectionProxy" scope="page" />
<jsp:useBean id="map" class="com.esri.aims.mtier.model.map.Map" scope="page" />
<HTML><HEAD><TITLE>Geometry Test</TITLE></HEAD>
<BODY bgcolor="#ffffff"><p align="left">
<%
//define server parameters
String hostName = "s"; //replace with app. server host name
int port = 5300; //replace with app. server port number
String serviceName = "y"; //replace with image service name
//define where expression
String whereExpression = "OBJECTID = 2"; //replace with where expression for filter
//define layer index
int pointindex = 1; //replace with layer index
int polygonindex=0;
//set connection parameters
connection.setConnectionType(connection.TCP);
connection.setHost(hostName);
connection.setPort(port);
connection.setService(serviceName);
//initialize map
map.initMap(connection, 0, true, true, true, true);
map.setWidth(500);
map.setHeight(350);
//get feature layer and setGeometry=true
FeatureLayer fLayer_point = (FeatureLayer)map.getLayers().item(pointindex);
FeatureLayer fLayer_polygon = (FeatureLayer)map.getLayers().item(polygonindex);
map.getLayers().setGeometry(true);
// out.println(fLayer_polygon.getName());
//create and apply filter to layer
com.esri.aims.mtier.model.map.layer.query.Filter filter = new com.esri.aims.mtier.model.map.layer.query.Filter();
filter.setWhereExpression(whereExpression);
fLayer_polygon.setFilterObject(filter);
GeometryRecordset geometry = new GeometryRecordset();
//get current ArcXML request prepared by Map object
String arcxmlReq = map.getArcXML();
//send String axl request and get back String response
String arcXMLResponse = map.sendArcXML(arcxmlReq,map.GET_FEATURE);
// Stores all the Geometry Result after parsing
java.util.Vector vectorGeometry = new java.util.Vector();
vectorGeometry = geometry.getGeometry(null,null,arcXMLResponse);
String str1 = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><ARCXML version=\"1.1\"><REQUEST>";
str1 += "<GET_IMAGE autoresize=\"false\"><PROPERTIES><ENVELOPE minx=\"113.038850322924\" miny=\"27.1448635894767\" maxx=\"122.832095845899\" maxy=\"35.1280602817952\" />";
str1 += "<IMAGESIZE width=\"500\" height=\"350\" scalesymbols=\"false\"/>";
str1 += "<LEGEND antialiasing=\"true\" autoextend=\"false\" cansplit=\"false\" cellspacing=\"2\" columns=\"1\" display=\"true\" font=\"arial\" height=\"300\" layerfontsize=\"10\" reverseorder=\"false\" splittext=\"(cont)\" swatchheight=\"14\" swatchwidth=\"18\" title=\"Legend\" titlefontsize=\"12\" valuefontsize=\"8\" width=\"125\"/>";
str1 += "<LAYERLIST order=\"true\" nodefault=\"false\" dynamicfirst=\"false\" >";
str1 += "<LAYERDEF name=\"WUQU\" id=\"0\" visible=\"true\">";
str1 += "<SIMPLERENDERER>";
str1 += "<SIMPLEPOLYGONSYMBOL fillcolor=\"227,227,127\" boundarycaptype=\"round\" />";
str1 += "</SIMPLERENDERER>";
str1 += "</LAYERDEF>";
str1 += "<LAYERDEF name=\"BDZ\" id=\"1\" visible=\"true\">";
str1 += "<SPATIALQUERY subfields=\"\" searchorder=\"optimize\" >";
str1 += "<SPATIALFILTER relation=\"area_intersection\" >";
String str2="<POLYGON>";
//print out geometry of each parts
for (int i=0;i<vectorGeometry.size();i++){
// Iterate through only Polygon Object
if (vectorGeometry.get(i) instanceof Polygon){
Polygon polygon = (Polygon) vectorGeometry.get(i);
out.println("Polygon - Ring Count : " + polygon.getRingsCount());
out.println("<BR>");
// Iterate through only Ring Object
Ring ring = null;
for (int j=0;j<polygon.getRingsCount();j++){
str2=str2+"<RING>";
ring = polygon.getRing(j);
for (int k=0;k<ring.getHolesCount();k++){
str2=str2+"<HOLE>";
Hole hole = ring.getHole(k);
Points pts = hole.getPoints();
for (int l=0;l<pts.getCount();l++){
Point tPoint = pts.getPointObject(l);
str2=str2+"<POINT x=\""+ tPoint.getX() + "\" y=\"" + tPoint.getY() + "\" />";
}
str2=str2+"</HOLE>";
}
Points ringPoints = ring.getPoints();
for (int k=0;k<ringPoints.getCount();k++){
Point tempPoint = ringPoints.getPointObject(k);
str2=str2+"<POINT x=\""+ tempPoint.getX() + "\" y=\"" + tempPoint.getY() + "\" />";
}
str2=str2+"</RING>";
}
}
}
String str3="</POLYGON></SPATIALFILTER></SPATIALQUERY><SIMPLERENDERER><SIMPLEMARKERSYMBOL type=\"\" color=\"255,0,255\" antialiasing=\"true\" width=\"6\" /></SIMPLERENDERER></LAYERDEF></LAYERLIST></PROPERTIES></GET_IMAGE></REQUEST></ARCXML>";
String str = str1+str2+str3;
arcXMLResponse = map.sendArcXML(str,map.GET_IMAGE);
String mapURL2 = map.getMapOutput().getURL();
%>
<center><img src="<%=mapURL2%>"> </center>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -