⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 distanceconverter.java

📁 esri的ArcGIS Server超级学习模板程序(for java)
💻 JAVA
字号:
package com.esri.solutions.jitk.common.geometry;

import java.io.IOException;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import com.esri.arcgis.geometry.IGeographicCoordinateSystem;
import com.esri.arcgis.geometry.IProjectedCoordinateSystem;
import com.esri.arcgis.geometry.ISpatialReference;
import com.esri.arcgis.interop.AutomationException;
import com.esri.arcgis.server.IServerContext;
import com.esri.arcgis.system.IUnitConverter;
import com.esri.arcgis.system.UnitConverter;
import com.esri.arcgis.system.esriUnits;
import com.esri.solutions.jitk.web.tasks.elevation.ElevationTask;

public class DistanceConverter {
	private static final Logger logger = LogManager.getLogger(ElevationTask.class);
	
	public static double convertDistance(ISpatialReference sr, int iUntis, double dDistance, IServerContext ipServerContext) 
		throws ExceptionUnitConverterCreationFailed, ExceptionUnitConverterCreationFailed, IOException, AutomationException {
	
		//TODO: This units conversion code seems incorrect, it was refactored from
		//      the buffer task. Correct this.
		double dConvertedUnits = 0;
		int curUnit = esriUnits.esriDecimalDegrees;
		
		if (sr instanceof IGeographicCoordinateSystem){
			curUnit = esriUnits.esriDecimalDegrees;
		}
		
		if (sr instanceof IProjectedCoordinateSystem){
			curUnit = esriUnits.esriMeters;
		}
		
		IUnitConverter converter = null;
		
		if (ipServerContext != null){
			
			converter = (UnitConverter) ipServerContext.createObject(UnitConverter.getClsid());
		}
		else {
			throw new NullPointerException();
		}
			
		if (converter == null) {
			throw new ExceptionUnitConverterCreationFailed("Unable to create UnitConverter, returned converter null");
		}
		
		try {
			dConvertedUnits = converter.convertUnits(dDistance, iUntis, curUnit);
		} 
		catch(AutomationException ex2) {
			logger.error("Unable to convert distance", ex2);
			throw ex2;
		}		
		catch(IOException ex) {
			logger.error("Unable to convert distance", ex);
			throw ex;
		}
		
		return dConvertedUnits;
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -