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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mifdatastorefactory.java

?? .mif .mid file read and write
?? JAVA
字號:
/*
 *    GeoTools - OpenSource mapping toolkit
 *    http://geotools.org
 *    (C) 2005-2006, GeoTools Project Managment Committee (PMC)
 * 
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation;
 *    version 2.1 of the License.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 */
package org.geotools.data.mif;

import com.vividsolutions.jts.geom.GeometryFactory;
import org.geotools.data.DataStore;
import org.geotools.data.DataStoreFactorySpi;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;


/**
 * Builds a MIFDataStore. Required parameters are:
 * 
 * <ul>
 * <li>
 * MIFDataStore.PARAM_DBTYPE: String, must be "mif"
 * </li>
 * <li>
 * MIFDataStore.PARAM_PATH: String, full path of the directory containing MIF
 * files, or path of a single mif file (with or without .mif extension)
 * </li>
 * </ul>
 * 
 * <p>
 * For a full description of creation parameters, see MIFDataStore().
 * </p>
 *
 * @author Luca S. Percich, AMA-MI
 * @source $URL: http://svn.geotools.org/trunk/modules/unsupported/mif/src/main/java/org/geotools/data/mif/MIFDataStoreFactory.java $
 * @version $Id: MIFDataStoreFactory.java 21857 2006-10-05 17:50:53Z acuster $
 *
 * @see MIFDataStore#MIFDataStore(String, HashMap)
 */
public class MIFDataStoreFactory implements DataStoreFactorySpi {
    // DataStore - specific parameters
    public static final Param PARAM_DBTYPE = new Param("dbtype", String.class,
            "Must be \"mif\"", true, "mif");
    public static final Param PARAM_PATH = new Param("path", String.class,
            "Full path of directory containing mifs or single mif file", true,
            "c:/data/mifpath/");
    public static final Param PARAM_NAMESPACE = new Param("namespace",
            URI.class,
            "URI of the namespace prefix for FeatureTypes returned by this DataStore",
            false);

    // Options
    public static final Param PARAM_FIELDCASE = new Param(MIFDataStore.PARAM_FIELDCASE,
            String.class,
            "Field name case transformation, can be \"\" (no transform), \"upper\" (to uppercase) or \"lower\" (to lowercase).",
            false, "upper");
    public static final Param PARAM_GEOMNAME = new Param(MIFDataStore.PARAM_GEOMNAME,
            String.class,
            "Name of the geometry field, if not specified defaults to \"the_geom\".",
            false, "the_geom");
    public static final Param PARAM_GEOMFACTORY = new Param(MIFDataStore.PARAM_GEOMFACTORY,
            GeometryFactory.class,
            "GeometryFactory object used for building geometries", false,
            "new GeometryFactory()");
    public static final Param PARAM_GEOMTYPE = new Param(MIFDataStore.PARAM_GEOMTYPE,
            String.class, "Can be typed, untyped or multi (implies typed).",
            false, "untyped");
    public static final Param PARAM_SRID = new Param(MIFDataStore.PARAM_SRID,
            Integer.class,
            "SRID code for Geometry, use as alternative for GEOMFACTORY",
            false, new Integer(26591));

    // Header clauses
    public static final Param PARAM_COORDSYS = new Param(MIFDataStore.HCLAUSE_COORDSYS,
            String.class, "CoordSys clause for new files", false,
            "CoordSys Earth Projection 8, 87, \"m\", 9, 0, 0.9996, 1500000, 0 Bounds (-6746230.6469, -9998287.38389) (9746230.6469, 9998287.38389)");
    public static final Param PARAM_CHARSET = new Param(MIFDataStore.HCLAUSE_CHARSET,
            String.class, "Charset clause", false, "WindowsLatin1");
    public static final Param PARAM_DELIMITER = new Param(MIFDataStore.HCLAUSE_DELIMITER,
            String.class, "Delimiter to be used in output MID files", false, ";");
    public static final Param PARAM_INDEX = new Param(MIFDataStore.HCLAUSE_INDEX,
            String.class,
            "Index clasue (comma separated list of indexed field numbers",
            false, "1,2,4");
    public static final Param PARAM_TRANSFORM = new Param(MIFDataStore.HCLAUSE_TRANSFORM,
            String.class, "Transform clause to be uised for output", false,
            "0.5,0.5,0,0");
    public static final Param PARAM_UNIQUE = new Param(MIFDataStore.HCLAUSE_UNIQUE,
            String.class,
            "Unique clause - comma separated list of field numbers forming unique values.",
            false, "1,2");
    public static final Param PARAM_VERSION = new Param(MIFDataStore.HCLAUSE_VERSION,
            String.class, "Version ID", false, "410");

    /**
     * Creates a new MIFDataStoreFactory object.
     */
    public MIFDataStoreFactory() {
        super();
    }

    /**
     */
    public String getDisplayName() {
        return "MIFDataStore";
    }

    /* (non-Javadoc)
     * @see org.geotools.data.DataStoreFactorySpi#createDataStore(java.util.Map)
     */
    public DataStore createDataStore(Map params) throws IOException {
        if (!processParams(params)) {
            throw new IOException("The parameters map isn't correct.");
        }

        MIFDataStore mif = null;

        try {
            HashMap parameters = new HashMap();

            String path = (String) PARAM_PATH.lookUp(params);

            addParamToMap(PARAM_NAMESPACE, params, parameters, null);

            // Options
            addParamToMap(PARAM_FIELDCASE, params, parameters, null);
            addParamToMap(PARAM_GEOMNAME, params, parameters, null);
            addParamToMap(PARAM_GEOMTYPE, params, parameters, null);
            addParamToMap(PARAM_GEOMFACTORY, params, parameters, null);
            addParamToMap(PARAM_SRID, params, parameters, null);

            // Header
            addParamToMap(PARAM_COORDSYS, params, parameters, null);
            addParamToMap(PARAM_CHARSET, params, parameters, null);
            addParamToMap(PARAM_DELIMITER, params, parameters, null);
            addParamToMap(PARAM_INDEX, params, parameters, null);
            addParamToMap(PARAM_TRANSFORM, params, parameters, null);
            addParamToMap(PARAM_UNIQUE, params, parameters, null);
            addParamToMap(PARAM_VERSION, params, parameters, null);

            mif = new MIFDataStore(path, parameters);

            return mif;
        } catch (IOException ex) {
            throw ex;
        } catch (Exception ex) {
            throw new IOException(ex.toString());
        }
    }

    private void addParamToMap(Param param, Map params, HashMap map, Object defa) {
        Object val = null;

        try {
            val = param.lookUp(params);
        } catch (Exception e) {
        }

        if (val != null) {
            map.put(param.key, val);
        } else if (defa != null) {
            map.put(param.key, defa);
        }
    }

    /**
     * <p>
     * As the creation of new MIF files is simply achieved by createSchema()
     * calls, this method simply calls createDataStore().
     * </p>
     *
     * @param params The parameter map
     *
     * @return the MIFDataStore instance returned by createDataStore(params)
     *
     * @throws IOException
     *
     * @see #createDataStore(Map)
     */
    public DataStore createNewDataStore(Map params) throws IOException {
        return createDataStore(params); // return null????
    }

    /**
     * @see org.geotools.data.DataStoreFactorySpi#getDescription()
     */
    public String getDescription() {
        return "MapInfo MIF/MID format datastore";
    }

    /**
     * @see org.geotools.data.DataStoreFactorySpi#getParametersInfo()
     */
    public Param[] getParametersInfo() {
        Param[] params = {
                PARAM_DBTYPE, PARAM_PATH, PARAM_NAMESPACE,
                
                PARAM_FIELDCASE, PARAM_GEOMNAME, PARAM_GEOMFACTORY,
                PARAM_GEOMTYPE, PARAM_SRID,
                
                PARAM_COORDSYS, PARAM_CHARSET, PARAM_DELIMITER, PARAM_INDEX,
                PARAM_TRANSFORM, PARAM_UNIQUE, PARAM_VERSION
            };

        return params;
    }

    /**
     * @see org.geotools.data.DataStoreFactorySpi#canProcess(java.util.Map)
     */
    public boolean canProcess(Map params) {
        try {
            return processParams(params);
        } catch (Exception e) {
            return false;
        }
    }

    /*
     * Utility function for processing params
     */
    private boolean processParams(Map params) throws IOException {
        if (!String.valueOf(PARAM_DBTYPE.lookUp(params)).equalsIgnoreCase("mif")) {
            throw new IOException("mif dbtype expected");
        }

        String path = String.valueOf(PARAM_PATH.lookUp(params));
        File file = new File(path);

        if (!file.isDirectory()) {
            // Try to build a File object pointing to a .mif file
            // Will throw an exception if the file cannot be found
            MIFFile.getFileHandler(file.getParentFile(),
                MIFFile.getMifName(file.getName()), ".mif", true);
        }

        return true;
    }

    /**
     * <p>
     * This method always returns true, because no specific libraries are
     * required by MIFDataStore.
     * </p>
     *
     * @see org.geotools.data.DataStoreFactorySpi#isAvailable()
     */
    public boolean isAvailable() {
        return true;
    }

    /**
     * <p>
     * Always return Collections#EMPTY_MAP, because no hints are available for
     * now.
     * </p>
     *
     * @see org.geotools.factory.Factory#getImplementationHints()
     */
    public Map getImplementationHints() {
        // TODO Check possible use of hints for GeometryFactory, SRID.
        return Collections.EMPTY_MAP;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频国产精品| 69av一区二区三区| 免费看日韩a级影片| 欧美激情一区二区三区蜜桃视频| 欧美三级日韩三级| 99热精品国产| 国产综合色精品一区二区三区| 亚洲欧美国产77777| 欧美成人精品二区三区99精品| 在线精品亚洲一区二区不卡| 国产米奇在线777精品观看| 亚洲午夜免费电影| 国产精品九色蝌蚪自拍| 日韩欧美一级二级| 欧美日韩国产a| 91免费版在线看| 国产精品伊人色| 日韩av电影一区| 一区二区三区精品| 综合久久一区二区三区| 久久久久久免费| 日韩欧美高清在线| 911精品国产一区二区在线| 色屁屁一区二区| 99久久99久久精品免费观看| 国产在线精品一区二区| 免费av网站大全久久| 午夜天堂影视香蕉久久| 亚洲美女屁股眼交3| 国产精品毛片大码女人| 国产日韩欧美亚洲| 精品久久国产字幕高潮| 欧美成人精精品一区二区频| 91精品国产综合久久婷婷香蕉| 欧美自拍丝袜亚洲| 色香色香欲天天天影视综合网| 成人h动漫精品| 高清视频一区二区| 福利一区在线观看| 国产成人在线看| 国产精品夜夜嗨| 国产成人精品综合在线观看| 国模冰冰炮一区二区| 久久69国产一区二区蜜臀| 蜜桃视频在线观看一区二区| 青青草国产成人av片免费| 日韩av在线免费观看不卡| 日韩不卡一区二区| 久久99精品国产.久久久久久| 久久成人18免费观看| 国产伦精品一区二区三区免费迷| 国产伦精品一区二区三区免费 | 亚洲国产精品精华液网站| 悠悠色在线精品| 亚洲成人黄色小说| 久久精品国产99国产精品| 国产在线一区观看| 国产成人在线视频免费播放| 99综合电影在线视频| 在线观看视频91| 欧美一卡二卡在线| 国产婷婷精品av在线| 亚洲免费观看高清完整版在线观看熊 | 岛国av在线一区| 色综合天天综合网天天狠天天 | 国产欧美日韩亚州综合 | 成人av综合一区| 欧美色倩网站大全免费| 91精品国产综合久久精品麻豆 | 国产精品久久久久毛片软件| 一区二区三区加勒比av| 日本午夜精品视频在线观看| 国产高清久久久久| 欧美三级中文字幕在线观看| 欧美v日韩v国产v| 中文字幕一区二区三区视频| 亚洲一区二区三区中文字幕| 蜜臀av一级做a爰片久久| 高清av一区二区| 777午夜精品视频在线播放| 国产亚洲精品久| 亚洲一二三级电影| 国产精品99久久不卡二区| 色丁香久综合在线久综合在线观看| 欧美高清视频在线高清观看mv色露露十八 | 久久嫩草精品久久久久| 亚洲三级小视频| 日韩国产欧美视频| 91在线你懂得| 欧美不卡视频一区| 一区二区在线免费观看| 国产麻豆91精品| 欧美日韩不卡一区| 国产精品夫妻自拍| 久久国产成人午夜av影院| 色综合天天综合色综合av| 精品国产一区二区三区四区四| 亚洲欧美日本韩国| 国产成人av一区二区| 91精品国产色综合久久不卡电影 | 丝袜美腿一区二区三区| av在线不卡网| 久久精品一区四区| 日韩av午夜在线观看| 在线一区二区视频| 天堂va蜜桃一区二区三区漫画版 | 国产高清不卡一区| 在线91免费看| 亚洲一区二区中文在线| 成人av动漫网站| 国产婷婷精品av在线| 免费视频一区二区| 在线播放中文一区| 亚洲综合色区另类av| www.欧美.com| 中文字幕成人av| 成人一区二区三区视频在线观看| 欧美高清视频www夜色资源网| 伊人色综合久久天天| 99re在线精品| 国产精品国产三级国产普通话三级| 极品少妇xxxx精品少妇偷拍| 欧美一区二区啪啪| 日韩av电影免费观看高清完整版 | 中文字幕精品一区| 国产一区在线观看视频| 欧美不卡一区二区三区| 狂野欧美性猛交blacked| 7777精品伊人久久久大香线蕉完整版| 亚洲乱码国产乱码精品精小说| 成人毛片在线观看| 欧美激情中文不卡| 成人小视频免费在线观看| 国产视频一区在线播放| 国产精品一区免费视频| 久久五月婷婷丁香社区| 国产一区二区三区四区在线观看| 欧美成人video| 国产一区二区三区免费看 | 一区二区成人在线视频| 91国偷自产一区二区三区观看| 日韩理论片在线| 色先锋资源久久综合| 亚洲一区免费观看| 欧美日韩国产在线观看| 青青草视频一区| 精品福利一二区| 国产成人免费视频| 国产精品国产三级国产a | av午夜精品一区二区三区| 中文字幕一区av| 在线精品视频小说1| 日韩国产欧美三级| 欧美成人精品1314www| 国产成人av网站| 1024成人网| 欧美日韩卡一卡二| 老司机精品视频导航| 国产色产综合色产在线视频 | 日韩精品一区二| 高清beeg欧美| 伊人色综合久久天天| 91精品欧美福利在线观看 | 欧美卡1卡2卡| 国产在线精品一区二区三区不卡| 国产精品麻豆一区二区| 欧美亚洲国产bt| 精品综合久久久久久8888| 中文字幕一区二区三区不卡 | 午夜精品一区二区三区免费视频| 欧美一区二区三区日韩| 国产福利视频一区二区三区| 亚洲视频免费在线观看| 91精品国产美女浴室洗澡无遮挡| 激情综合亚洲精品| 亚洲精品国产成人久久av盗摄 | 日韩限制级电影在线观看| 从欧美一区二区三区| 亚洲成人精品一区二区| 国产亚洲一区字幕| 欧美优质美女网站| 国产精品一卡二卡| 亚洲成人福利片| 国产精品伦理一区二区| 91麻豆精品久久久久蜜臀| 懂色av一区二区三区免费看| 图片区小说区区亚洲影院| 中文字幕av一区 二区| 欧美一级艳片视频免费观看| jizz一区二区| 美脚の诱脚舐め脚责91| 亚洲天堂免费在线观看视频| www久久精品| 欧美日韩一级黄| av网站免费线看精品| 免费av网站大全久久| 一区二区激情视频| 欧美激情一二三区| 欧美成va人片在线观看| 欧美日韩色一区|