亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? arcimsservice.java

?? 聯(lián)合國(guó)農(nóng)糧署牽頭開發(fā)的geonetwork源代碼最新版
?? JAVA
字號(hào):
/** * ArcIMSService.java * * @author Stefano Giaccio */package org.wfp.vam.intermap.kernel.map.mapServices.arcims;import java.util.*;import org.jdom.*;import jeeves.utils.Xml;import org.wfp.vam.intermap.kernel.map.mapServices.*;import org.wfp.vam.intermap.kernel.map.mapServices.MapService;import org.wfp.vam.intermap.kernel.map.mapServices.constants.MapServices;public class ArcIMSService extends MapService{		/**	 * Method getGroupImageUrl	 *	 * @param    bBox                a  BoundingBox	 * @param    width               an int	 * @param    height              an int	 * @param    imageNames          a  Vector	 *	 * @return   a String	 *	 */	public String getGroupImageUrl(BoundingBox bBox, int width, int height, Vector imageNames)	{		// TODO		return null;	}		public static final int TYPE = 1;	private BoundingBox bb;	private int activeLayer = 0;	private String errorStr;	private static final double METERS_IN_DEGREE = 111195.0;	private static final double FEET_IN_DEGREE = 364813.0;//	private Hashtable htLayerInfo; // Used to fasten the access to the getServiceInfo response	/**	 * Sets the ArcIMS map server URL and the service name.	 * <p>Also sends a GET_SERVICE_INFO request to the map server and sets the	 * starting visibility for the layers as specified in the response.	 * <p>The GET_SERVICE_INFO response can be retrieved using the toElement	 * method.	 *	 * @param    url                the map server url	 * @param    name               the map service name	 *	 */	public ArcIMSService(String url, String name)		throws Exception	{		super(url, name);		// Send the request to the map server		Element axlRequest = AxlRequestBuilder.getRequest("getServiceInfo.xml");		ArcIMSClient client = new ArcIMSClient(url, name, axlRequest);		Element response = client.getElement();		// Get the LAYERINFO elements		List lLayers = response.getChild("RESPONSE")			.getChild("SERVICEINFO")			.getChildren("LAYERINFO");		// Set the internal id for each layer in the service. We can't use the		// layer name because it maight contain spaces, and Jeeves would throw		// an exception in converting them from HTTP paramerets to elements		int internalId = 1;		for (Iterator i = lLayers.iterator(); i.hasNext(); ) {			Element elLayerInfo = (Element)i.next();			if(activeLayer == 0 && elLayerInfo.getAttributeValue("type").equals("featureclass"))				activeLayer = internalId;			elLayerInfo.setAttribute("internalId", "" + internalId++);//			htLayerInfo.put(new Integer(internalId), elLayerInfo);		}		// Fills the layers Hashtable with the service's layers as key, and		// set set the visible property for each one		for (Iterator i = lLayers.iterator(); i.hasNext(); ) {			Element elLayerInfo = (Element)i.next();			boolean show = elLayerInfo.getAttributeValue("visible").equals("true");			setLayerVisible(elLayerInfo.getAttributeValue("internalId"), show);		}		info = new Element(MapServices.INFO_TAG).addContent(response);		bb = getDefBoundingBox(); // Get the default bounding box	}	public int getType() {		return TYPE;	}	/**	 * Builds a Bounding Box from the envelope tag in the GET_SERVICE_INFO	 * response.	 *	 * @return   The default service envelope	 *	 */	public BoundingBox getDefBoundingBox() throws Exception {		Element elBb = Xml.getElement(info, "/info/ARCXML/RESPONSE/SERVICEINFO/PROPERTIES/ENVELOPE");				float maxy = Float.parseFloat(elBb.getAttributeValue("maxy"));		float miny = Float.parseFloat(elBb.getAttributeValue("miny"));		float maxx = Float.parseFloat(elBb.getAttributeValue("maxx"));		float minx = Float.parseFloat(elBb.getAttributeValue("minx"));		// Convert map units		String units = Xml.getElement(info, "/info/ARCXML/RESPONSE/SERVICEINFO/PROPERTIES/MAPUNITS")			.getAttributeValue("units");		if (units.equals("meters")) {			// Meters to decimal degrees			maxy /= METERS_IN_DEGREE;			miny /= METERS_IN_DEGREE;			maxx /= METERS_IN_DEGREE;			minx /= METERS_IN_DEGREE;		}		if (units.equals("feet")) {			// Feet to decimal degrees			maxy /= FEET_IN_DEGREE;			miny /= FEET_IN_DEGREE;			maxx /= FEET_IN_DEGREE;			minx /= FEET_IN_DEGREE;		}		BoundingBox bb = new BoundingBox(maxy, miny, maxx, minx);		return bb;	}	public BoundingBox getBoundingBox() { return bb; }	/**	 * Sends a GET_IMAGE request to the map server.	 *	 * @param    bBox                a  BoundingBox	 *	 * @return  the URL of the image on the server	 *	 * @throws   Exception	 *	 */	public String getImageUrl(BoundingBox bBox, int width, int height)		throws Exception, ServiceException	{		this.bb = bBox;		// Build the request for the map server		Element elService = this.toElement()			.addContent(new Element("imageWidth").setText(width + ""))			.addContent(new Element("imageHeight").setText(height + ""));		Element request = AxlRequestBuilder.getRequest(elService, "getImage.xsl");		// Send the request and get the response as an Element		ArcIMSClient client = new ArcIMSClient(serverUrl, name, request);		lastResponse = client.getElement();		// Check if an error was generated on the server		checkArcImsError();		// Set the current bounding box from the response		Element elEnvelope = lastResponse.getChild("RESPONSE")			.getChild("IMAGE")			.getChild("ENVELOPE");		bb = new BoundingBox(Float.parseFloat(elEnvelope.getAttributeValue("maxy")),							   Float.parseFloat(elEnvelope.getAttributeValue("miny")),							   Float.parseFloat(elEnvelope.getAttributeValue("maxx")),							   Float.parseFloat(elEnvelope.getAttributeValue("minx")));				// Get the image URL from the ArcXML response		return Xml.getElement(lastResponse, "/ARCXML/RESPONSE/IMAGE/OUTPUT")			.getAttributeValue("url");	}	/**	 * Sends a GET_EXTRACT request to the map server.	 *	 * @param    bBox                a  BoundingBox	 *	 * @return  the URL of the image on the server	 *	 * @throws   Exception	 *	 */	public String getShapefileUrl(BoundingBox bBox, int width, int height)		throws Exception, ServiceException	{		this.bb = bBox;		// Build the request for the map server		Element elService = this.toElement()			.addContent(new Element("imageWidth").setText(width + ""))			.addContent(new Element("imageHeight").setText(height + ""));		Element request = AxlRequestBuilder.getRequest(elService, "getShape.xsl");		// Send the request and get the response as an Element		ArcIMSClient client = new ArcIMSClient(serverUrl, name, "Extract", request);		lastResponse = client.getElement();		// Check if an error was generated on the server		checkArcImsError();				// Get the image URL from the ArcXML response		return Xml.getElement(lastResponse, "/ARCXML/RESPONSE/EXTRACT/OUTPUT")			.getAttributeValue("url");	}		/**	 * Sends a GET_IMAGE request to the map server to get the legend.	 *	 * @param    bBox                a  BoundingBox	 *	 * @return  the URL of the image on the server	 *	 * @throws   Exception	 *	 */	public String getLegendUrl()		throws Exception, ServiceException	{		// Build the request for the map server		Element request = AxlRequestBuilder.getRequest(this.toElement(), "getLegend.xsl");		// Send the request and get the response as an Element		ArcIMSClient client = new ArcIMSClient(serverUrl, name, request);		Element lastResponse =  client.getElement();		checkArcImsError();		// Get the image URL from the ArcXML response		return Xml.getElement(lastResponse, "/ARCXML/RESPONSE/IMAGE/LEGEND")			.getAttributeValue("url");	}	public void identify(int layer, int x, int y, int width, int height, int tolerance, String reqFormat)		throws Exception, ServiceException	{		float mapX = bb.getWest() + (bb.getEast() - bb.getWest()) * x / width;		float mapY = bb.getNorth() - (bb.getNorth() - bb.getSouth()) * y /  height;		float deltax = (bb.getEast() - bb.getWest()) / width * tolerance / 2;		float deltay = (bb.getNorth() - bb.getSouth()) / height * tolerance / 2;		// Build the request for the map server		Element request = AxlRequestBuilder.getRequest(this.toElement()			.addContent(new Element("activeLayer").setText(layer + ""))			.addContent(new BoundingBox(mapY + deltay, mapY - deltay, mapX + deltax, mapX - deltax).toElement()), "identify.xsl");		// Send the request and get the response as an Element		ArcIMSClient client = new ArcIMSClient(serverUrl, name, "Query", request);		lastResponse =  client.getElement();				checkArcImsError();	}	public void setActiveLayer(int layer)		throws Exception	{//		if (!layers.contains(new Integer(layer)))//			throw new Exception();		activeLayer = layer;	}	public int getActiveLayer() {		return activeLayer;	}	/**	 * Sets layer visibility	 *	 * @param    id                  layer id	 * @param    visible             layer visibility	 *	 */	public void setLayerVisible(String id, boolean visible) {		if (visible)			layers.put(id, "show");		else			layers.put(id, "hide");	}	/**	 * Returns an array of all visible layers	 *	 * @return   a Vector	 *	 */	public Vector getVisibleLayers() {		Vector show = new Vector();		for (Enumeration e = layers.keys(); e.hasMoreElements(); ) {			Object key = e.nextElement();			if (layers.get(key) == "show")				show.add(key);		}		return show;	}	/**	 * Returns an element represenation of the status of the map service	 *	 * @return   an Element	 *	 */	public Element toElement() {		// Visible layers		Element elVisible = new Element("visibleLayers");		for (Enumeration e = layers.keys(); e.hasMoreElements(); ) {			Object key = e.nextElement();			if (layers.get(key) == "show")				elVisible.addContent(new Element("layer")										 .setAttribute("internalId", (String)key)										 .setAttribute("visible", "true"));			else				elVisible.addContent(new Element("layer").setAttribute("internalId", (String)key).setAttribute("visible", "false"));		}		return new Element("service")			.setAttribute("type", "ArcIMS")			.setAttribute("name", this.getName())			.addContent(this.getInfo())			.addContent(new Element(MapServices.LAST_RESPONSE_TAG).addContent(this.getLastResponse()))			.addContent(elVisible)			.addContent( new Element("envelope").addContent(getBoundingBox().toElement()) );	}	public String getErrorMsg() {		return errorStr;	}	/**	 * Sets the error string and throws a ServiceException if	 * an error messaged received from the image server	 *	 * @throws   ServiceException if an error messaged received from the image	 *           server	 *	 */	private void checkArcImsError()		throws Exception	{		Element error = Xml.getElement(lastResponse, "/ARCXML/RESPONSE/ERROR");		if (error != null) {			errorStr = error.getText();			throw new ServiceException();		}	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷激情综合| 日韩欧美成人一区| 日本韩国精品在线| 久久色中文字幕| 日韩精品在线看片z| 久久久亚洲综合| 欧美国产日本视频| 夜夜精品视频一区二区 | 蜜桃免费网站一区二区三区| 青青草一区二区三区| 亚洲动漫第一页| 国产亚洲va综合人人澡精品| 在线观看亚洲成人| av午夜精品一区二区三区| 成人综合激情网| 国产福利精品一区| 国产成人免费视频精品含羞草妖精| 日韩影院精彩在线| 日韩成人av影视| 秋霞电影一区二区| 久久精品国产99国产精品| 五月综合激情日本mⅴ| 一区二区三区在线视频免费观看| 亚洲精品国久久99热| 亚洲激情综合网| 日韩av电影一区| 精品一区二区综合| 成人av第一页| 欧美日韩另类一区| 精品少妇一区二区三区免费观看 | www久久精品| 国产精品黄色在线观看 | 精品一区在线看| 91在线观看免费视频| 波多野结衣中文字幕一区二区三区 | 久久激五月天综合精品| 亚洲一区二区三区激情| 国产精品久久久久久久久果冻传媒 | 伊人婷婷欧美激情| 亚洲mv大片欧洲mv大片精品| 视频精品一区二区| 久久91精品久久久久久秒播| 国产精品综合一区二区| 91原创在线视频| 日韩欧美在线网站| 国产精品伦一区二区三级视频| 亚洲美女免费在线| 日韩不卡在线观看日韩不卡视频| 国产精品综合二区| 欧美日韩一区视频| 综合电影一区二区三区| 美女尤物国产一区| 精品视频1区2区| 国产精品毛片高清在线完整版| 日韩高清不卡一区二区| av中文字幕亚洲| 久久久精品日韩欧美| 日韩中文字幕不卡| 欧美午夜精品理论片a级按摩| 国产女人水真多18毛片18精品视频| 一区二区视频在线| 成人午夜又粗又硬又大| 日韩午夜激情视频| 香蕉久久夜色精品国产使用方法 | 欧洲亚洲国产日韩| 成人免费在线视频观看| 白白色亚洲国产精品| 久久精品欧美一区二区三区不卡 | 亚洲成人激情综合网| 一本久久a久久精品亚洲| 中文字幕日本不卡| av电影一区二区| 亚洲精品久久嫩草网站秘色| 成人性生交大片免费看中文| 亚洲国产精华液网站w | 欧美一区二区三区小说| 天天操天天综合网| 日韩天堂在线观看| 国产一区二区主播在线| 久久久精品日韩欧美| 国产aⅴ综合色| 亚洲精品综合在线| 欧美精品第1页| 精品一区二区三区在线观看国产 | 国产精品2024| 国产精品每日更新| 欧美三电影在线| 男女激情视频一区| 欧美国产一区在线| 欧美性受xxxx黑人xyx| 九一久久久久久| 国产精品久久午夜| 这里只有精品99re| 福利一区福利二区| 日韩高清在线不卡| 亚洲欧美日韩国产另类专区| 欧美一区二区三区日韩| 成人免费毛片片v| 午夜私人影院久久久久| 国产亚洲精品超碰| 欧美在线免费观看视频| 国产一级精品在线| 午夜精品久久久久久久| 中文成人av在线| 精品国产免费人成在线观看| 色综合久久中文字幕| 国产一区二区三区在线观看免费视频 | 91久久精品一区二区三区| 国产伦精品一区二区三区视频青涩| 夜夜嗨av一区二区三区四季av | 国产蜜臀av在线一区二区三区| 欧美日韩另类国产亚洲欧美一级| 国产宾馆实践打屁股91| 日日欢夜夜爽一区| 亚洲一二三区不卡| 中文字幕一区二区三区精华液 | 国产欧美精品一区二区色综合朱莉| 在线91免费看| 欧美日韩一区二区欧美激情| 色噜噜夜夜夜综合网| 成人av电影免费观看| 国产成人啪免费观看软件| 精品在线观看视频| 国产揄拍国内精品对白| 国产专区综合网| 国产精品中文字幕欧美| 福利视频网站一区二区三区| 国产精品69久久久久水密桃| 国产成人在线视频播放| 成人禁用看黄a在线| 成人丝袜18视频在线观看| proumb性欧美在线观看| 色综合一区二区三区| 国产成人午夜精品影院观看视频| 精品一区二区在线免费观看| 国产精品一区二区在线观看网站 | 色94色欧美sute亚洲13| voyeur盗摄精品| av中文字幕不卡| 精品视频在线看| 国产精品色一区二区三区| 喷白浆一区二区| 欧美亚洲免费在线一区| 91精品国产乱码久久蜜臀| 波多野结衣在线aⅴ中文字幕不卡| 5566中文字幕一区二区电影 | 欧美精品一区二区在线播放| 亚洲综合区在线| 成人黄色a**站在线观看| 国产日韩亚洲欧美综合| 极品瑜伽女神91| 欧美一级黄色录像| 日韩中文字幕麻豆| 91超碰这里只有精品国产| 午夜精品福利视频网站| 欧美日产在线观看| 亚洲第一在线综合网站| 日本精品一区二区三区高清 | 精品久久久久久久一区二区蜜臀| 日韩国产精品久久久久久亚洲| 99久久免费视频.com| 久久精品人人做| 国产露脸91国语对白| 亚洲精品在线免费播放| 男男成人高潮片免费网站| 日韩一级黄色大片| 久草这里只有精品视频| 久久综合中文字幕| 国产精一区二区三区| 日本一区二区三区dvd视频在线| 成人黄色软件下载| 亚洲免费在线电影| 欧美理论片在线| 免费成人av在线播放| 久久综合给合久久狠狠狠97色69| 琪琪一区二区三区| 精品国产一区二区精华| 国产精品18久久久久久vr | 国产精品女主播在线观看| 成人在线一区二区三区| 亚洲一二三区在线观看| 日韩欧美一卡二卡| 91麻豆成人久久精品二区三区| 午夜精品123| 久久综合色之久久综合| 波多野结衣91| 石原莉奈在线亚洲二区| 国产日韩欧美精品电影三级在线| 在线观看亚洲精品| 国产黄色91视频| 蜜桃一区二区三区在线| 国产精品色呦呦| 欧美性欧美巨大黑白大战| 国产一区二区导航在线播放| 日韩精品免费视频人成| 樱桃视频在线观看一区| 国产精品拍天天在线| 精品精品欲导航| 337p亚洲精品色噜噜噜| 不卡av免费在线观看|