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

📄 projectiontask.java

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

import java.util.Map;
import java.util.TreeMap;

import org.apache.log4j.Logger;

import com.esri.adf.web.data.tasks.TaskInfo;
import com.esri.adf.web.faces.event.TaskEvent;


public class ProjectionTask {
    private static final Logger LOG = Logger.getLogger(ProjectionTask.class);

    /**
     * Identifier for the UI-selected change projection method.
     */

    //private final static Integer PREDEFINED_METHOD = 1;

    /**
     * Identifier for the UI-selected change projection method.
     */

    //private final static Integer KNOWN_METHOD = 2;
    private String m_selectProjection = null;
    private String m_knownProjectionId = null;

    //private String m_selectUtmProjection = null;
    private Map<String, String> m_availableProjections = null;

    //private Map<String, String> m_utmProjections = null;
    private ProjectionTaskInfo m_taskInfo = null;

    //private String m_projection = null;
    //private Integer m_changeProjectionMethod = PREDEFINED_METHOD;
    //private Map<Integer, String> m_changeProjectionMethods;
    public ProjectionTask() {
        //String predefinedRadioLabel = "Predefined";
        //String knownRadioLabel = "Known";
        m_availableProjections = new TreeMap<String, String>();
        m_taskInfo = new ProjectionTaskInfo();

        //m_utmProjections = new TreeMap<String, String>();

        /*try {
            predefinedRadioLabel = TextResources.getResourceString(
                    "projection.ui.label.radio.predefined");
            knownRadioLabel = TextResources.getResourceString(
                    "projection.ui.label.radio.known");
        } catch (MissingResourceException ex) {
            LOG.warn("Missing resource value for key: [" + ex.getKey() + "]", ex);
        }
        
        // initialize the radio button choices
        m_changeProjectionMethods = new LinkedHashMap<Integer, String>();
        m_changeProjectionMethods.put(PREDEFINED_METHOD, predefinedRadioLabel);
        m_changeProjectionMethods.put(KNOWN_METHOD, knownRadioLabel);*/
    }

    public TaskInfo getTaskInfo() {
        return m_taskInfo;
    }

    public void changeProjection(TaskEvent event) {
        int id = -1;
        String selectedProjection = getKnownProjectionId();

        if ((selectedProjection == null) || (selectedProjection.length() <= 0)) {
            selectedProjection = getSelectProjection();
        }

        id = Integer.valueOf(selectedProjection);

        if (id != -1) {
        	event.getWebContext().setSpatialReferenceId(id);
        } else {
        	LOG.warn("Unable to change map projection using coordinate system [" + selectedProjection + "]");
        }

        /*int id = -1;
        String selectedProjection = null;
        
        // check to see which method we are to use
        // predefined or known.  predefined = 1, known = 2
        if (m_changeProjectionMethod.intValue() == 1) {
            selectedProjection = getProjection();
        
            if ((selectedProjection == null) ||
                    (selectedProjection.length() <= 0)) {
                selectedProjection = this.getSelectProjection();
            }
        
            for (String key : m_availableProjections.keySet()) {
                if (key.equals(selectedProjection)) {
                    id = Integer.valueOf(key);
        
                    m_taskInfo.hideUtmProjections();
        
                    break;
                }
            }
        
            // could be a UTM projection
            if (id == -1) {
                for (String key : m_utmProjections.keySet()) {
                    if (key.equals(selectedProjection)) {
                        id = Integer.valueOf(key);
        
                        m_taskInfo.showUtmProjections();
        
                        break;
                    }
                }
            }
        
            m_taskInfo.enablePredefinedFields();
            m_taskInfo.disableKnownField();
        } else if (m_changeProjectionMethod.intValue() == 2) {
            m_taskInfo.disablePredefinedFields();
            m_taskInfo.enableKnownField();
        
            selectedProjection = this.getKnownProjectionId();
        
            try {
                id = Integer.valueOf(selectedProjection);
            } catch (NumberFormatException ex) {
                LOG.warn(
                    "Unable to convert Projection ID to numerical value, invalid ID: [" +
                    selectedProjection + "]", ex);
            }
        }
        
        if (id != -1) {
            getProjectionHelperService().setWebContext(event.getWebContext());
            getProjectionHelperService().changeProjection(id);
        } else {
            LOG.warn(
                "Unable to change map projection using coordinate system [" +
                selectedProjection + "]");
        }*/
    }

    public Map<String, String> getAvailableProjections() {
        return m_availableProjections;
    }
    public String getSelectProjection() {
        return m_selectProjection;
    }

    public void setAvailableProjections(Map<String, String> projections) {
        m_availableProjections = projections;
    }

    public void setSelectProjection(String projection) {
        m_selectProjection = projection;
    }

    public String getKnownProjectionId() {
        return m_knownProjectionId;
    }

    public void setKnownProjectionId(String projectionId) {
        m_knownProjectionId = projectionId;
    }

    /*public Map<String, String> getUtmProjections() {
        return m_utmProjections;
    }
    
    public void setUtmProjections(Map<String, String> systems) {
        m_utmProjections = systems;
    }
    
    public String getSelectUtmProjection() {
        return m_selectUtmProjection;
    }
    
    public void setSelectUtmProjection(String utmProjection) {
        m_selectUtmProjection = utmProjection;
    }
    
    public String getProjection() {
        return m_projection;
    }
    
    public void setProjection(String projection) {
        m_projection = projection;
    }
    
    public Integer getChangeProjectionMethod() {
        return m_changeProjectionMethod;
    }
    
    public void setChangeProjectionMethod(Integer method) {
        m_changeProjectionMethod = method;
    }
    
    public Map<Integer, String> getChangeProjectionMethods() {
        return m_changeProjectionMethods;
    }*/
}

⌨️ 快捷键说明

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