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

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

?? coverageattributetable.java

?? openmap java寫的開源數(shù)字地圖程序. 用applet實現(xiàn),可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// **********************************************************************// // <copyright>// //  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/layer/vpf/CoverageAttributeTable.java,v $// $Revision: 1.5.2.3 $ $Date: 2005/08/09 21:17:52 $ $Author: dietrick $// **********************************************************************package com.bbn.openmap.layer.vpf;import java.io.File;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import com.bbn.openmap.io.BinaryFile;import com.bbn.openmap.io.FormatException;import com.bbn.openmap.util.Debug;/** * Handle the library level VPF directory. "noamer" in DCW is an * example of the library level data. This class loads the associated * tiling information, and the coverage types, and make them available * to the client. */public class CoverageAttributeTable {    /** the name of the library we are, for example "noamer" in DCW */    final protected String libraryname;    /** the path to our directory */    final protected String dirpath;    /** are we tiled or untiled coverage */    private boolean isTiled = false;    /** coverage name to CoverageEntry map */    final private Map coverages = new HashMap();    /**     * The tiles that compose our coverage area. The size of the array     * is going to be set to record count + 1, and the tiles will have     * their ID number as their index.     */    private TileDirectory containedTiles[];    /** the column names in the cat. file */    private final static String CATColumns[] = { Constants.CAT_COVNAME,            Constants.CAT_DESC, Constants.CAT_LEVEL };    /** expected schema types for the cat. file */    private final static char CATschematype[] = {            DcwColumnInfo.VPF_COLUMN_TEXT, DcwColumnInfo.VPF_COLUMN_TEXT,            DcwColumnInfo.VPF_COLUMN_INT_OR_SHORT };    /** expected schema lengths for cat. file */    private final static int CATschemalength[] = { -1 /* 8 */, -1 /* 50 */, 1 };    /**     * Construct a new coverage attribute table     *      * @param libname the name of the library     * @param dcwpath the path to the library     * @exception FormatException may throw FormatExceptions     */    public CoverageAttributeTable(String dcwpath, String libname)            throws FormatException {        libraryname = libname;        dirpath = dcwpath + "/" + libraryname;        String cat = dirpath + "/cat";        if (!BinaryFile.exists(cat)) {            cat = cat + ".";        }        DcwRecordFile rf = new DcwRecordFile(cat);        int catcols[] = rf.lookupSchema(CATColumns,                true,                CATschematype,                CATschemalength,                false);        List l = new ArrayList(rf.getColumnCount());        while (rf.parseRow(l)) {            int topL = ((Number) l.get(catcols[2])).intValue();            String desc = (String) l.get(catcols[1]);            String covtype = ((String) l.get(catcols[0])).toLowerCase()                    .intern();            coverages.put(covtype, new CoverageEntry(topL, desc));        }        rf.close();        rf = null;        doTileRefStuff(dirpath + "/tileref");    }    /**     * is this library tiled     *      * @return <code>true</code> for tiled coverage.     *         <code>false</code> else     */    public final boolean isTiledCoverage() {        return isTiled;    }    /**     * the name of the library     *      * @return the name of the library     */    public String getLibraryName() {        return libraryname;    }    /** the columns we need in fbr for tiling */    private static final String[] fbrColumns = { Constants.FBR_XMIN,            Constants.FBR_YMIN, Constants.FBR_XMAX, Constants.FBR_YMAX };    /** the columns we need in fcs for tiling */    private static final String[] fcsColumns = { Constants.FCS_FEATURECLASS,            Constants.FCS_TABLE1, Constants.FCS_TABLE1KEY,            Constants.FCS_TABLE2, Constants.FCS_TABLE2KEY };    /** the columns we need in fcs for tiling for DCW */    private static final String[] fcsColumnsDCW = { Constants.FCS_FEATURECLASS,            Constants.FCS_TABLE1, Constants.DCW_FCS_TABLE1KEY,            Constants.FCS_TABLE2, Constants.DCW_FCS_TABLE2KEY };    /**     * an internal function to load the tiling information     *      * @param pathname the path to the tile directory     */    private void doTileRefStuff(String pathname) {        doTileRefStuff(pathname, false);    }    /**     * an internal function to load the tiling information, with an     * option to use DCW column names.     *      * @param pathname the path to the tile directory     * @param DCW use DCW column names.     */    private void doTileRefStuff(String pathname, boolean DCW) {        String faceIDColumnName = null;        // Figure out how files names should be constructed...        boolean addSlash = true;        //      if (pathname.endsWith(File.separator)) {        if (pathname.endsWith("/") || pathname.endsWith(File.separator)) {            addSlash = false;        }        //read fcs to figure out what column in tileref.aft we need        // to use to        //read the fbr (face bounding rectangle) table        try {            String fcsFile = pathname + (addSlash ? "/" : "") + "fcs";            if (!BinaryFile.exists(fcsFile)) {                fcsFile = fcsFile + ".";            }            DcwRecordFile fcs = new DcwRecordFile(fcsFile);            List fcsv = new ArrayList(fcs.getColumnCount());            int fcscols[];            if (!DCW) {                fcscols = fcs.lookupSchema(fcsColumns, true);            } else {                fcscols = fcs.lookupSchema(fcsColumnsDCW, true);            }            while (fcs.parseRow(fcsv)) {                String fclass = (String) fcsv.get(fcscols[0]);                String table1 = (String) fcsv.get(fcscols[1]);                String table1_key = (String) fcsv.get(fcscols[2]);                /* Not used                String table2 = (String) fcsv.get(fcscols[3]);                String table2_key = (String) fcsv.get(fcscols[4]);                */                if ("tileref".equalsIgnoreCase(fclass)                        && "tileref.aft".equalsIgnoreCase(table1)) {                    faceIDColumnName = table1_key.toLowerCase();                    break;                }            }            fcs.close();        } catch (FormatException f) {            // If DCW, we'll get here, need to try lookupSchema with            // proper column names            if (!DCW)                doTileRefStuff(pathname, true);            return;            //either way, return. The recursive call may have worked.        } catch (NullPointerException npe) {            return; // file wasn't found...        }        if (faceIDColumnName == null) {            return; //won't be able to read the tiling info. abort        }        isTiled = true;        //Okay, we've got info on what column we use from tileref.aft        //to index into the fbr.        try {            DcwRecordFile aft = new DcwRecordFile(pathname                    + (addSlash ? "/" : "") + "tileref.aft");            int faceIDColumn = aft.whatColumn(faceIDColumnName.toLowerCase());            int tileNameColumn = aft.whatColumn("tile_name");            if ((faceIDColumn == -1) || (tileNameColumn == -1)) {                aft.close();                return;            }            String fbrFile = pathname + (addSlash ? "/" : "") + "fbr";            if (!BinaryFile.exists(fbrFile)) {                fbrFile = fbrFile + ".";            }            DcwRecordFile fbr = new DcwRecordFile(fbrFile);            int fbrIDColumn = fbr.whatColumn(Constants.ID);            List aftv = new ArrayList(aft.getColumnCount());            List fbrv = new ArrayList(fbr.getColumnCount());            int fbrcols[] = fbr.lookupSchema(fbrColumns, true);            // set the array size to record count + 1, to be able to            // use the tileID as the index into the array            // aft.getRecordCount() is not reliable if file is being            // read with a network input stream. So, we have to            // create the TileDirectory[] a different way.            //          containedTiles = new TileDirectory[aft.getRecordCount()            // + 1];            // This is part of that solution...            ArrayList tileArrayList = new ArrayList(500);            Object nullTile = new Object();            while (aft.parseRow(aftv)) {                int fac_num = ((Number) aftv.get(faceIDColumn)).intValue();                fbr.getRow(fbrv, fac_num); //mutates fbrv                int tileid = ((Number) aftv.get(fbrIDColumn)).intValue();                String tilename = (String) aftv.get(tileNameColumn);                char chs[] = tilename.toCharArray();                boolean goodTile = false;                for (int i = 0; i < chs.length; i++) {                    if ((chs[i] != '\\') && (chs[i] != ' ')) {                        goodTile = true;                    }                    if (chs[i] == '\\') {                        //                      chs[i] = File.separatorChar;                        chs[i] = '/'; // we're using BinaryFile, in                                      // java land...                    }                }                tilename = new String(chs);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米888四色在线精品| 午夜精品久久久久久久久久久| 欧美日韩国产高清一区| 色视频一区二区| 正在播放亚洲一区| 欧美va日韩va| 国产精品嫩草影院com| 国产精品麻豆网站| 亚洲一级二级在线| 精品午夜久久福利影院| 国产成人精品aa毛片| 色爱区综合激月婷婷| 91精品国产入口| 国产喷白浆一区二区三区| 有坂深雪av一区二区精品| 日韩av一区二| 色系网站成人免费| 日韩精品一区在线| 洋洋av久久久久久久一区| 美女看a上一区| 91久久精品一区二区三| 久久久精品免费免费| 五月天激情综合网| 成人avav影音| 337p粉嫩大胆色噜噜噜噜亚洲| 中文字幕亚洲一区二区av在线| 加勒比av一区二区| 欧美日免费三级在线| 日本一区二区三区久久久久久久久不 | 老司机午夜精品| 欧美日韩一区二区三区在线| 中文字幕的久久| 韩国av一区二区三区四区| 欧美视频在线一区二区三区 | 美女尤物国产一区| 欧美日韩亚洲综合在线| 一级做a爱片久久| 99re66热这里只有精品3直播| 国产亚洲一区二区在线观看| 麻豆精品视频在线| 精品精品欲导航| 韩国成人福利片在线播放| 日韩欧美一级精品久久| 久久99国产精品麻豆| 日韩欧美一二三四区| 极品少妇一区二区三区精品视频 | 亚洲国产精品一区二区久久| 91视视频在线观看入口直接观看www | 一本色道久久综合亚洲aⅴ蜜桃 | 国产精品一级二级三级| 国产欧美一区二区三区在线看蜜臀 | 午夜精品影院在线观看| 欧美三日本三级三级在线播放| 一区二区三区成人| 91精品国产日韩91久久久久久| 免费成人你懂的| 欧美激情资源网| 91福利视频久久久久| 日韩—二三区免费观看av| 久久久午夜精品理论片中文字幕| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲视频一二三区| 日韩欧美一区二区免费| 成人app下载| 美国十次综合导航| 亚洲免费色视频| 26uuu亚洲综合色欧美| 91免费版在线| 国产福利一区在线观看| 日本欧美韩国一区三区| 亚洲男同1069视频| 国产欧美日韩综合精品一区二区| 欧美精品一级二级三级| www.av亚洲| 成人爽a毛片一区二区免费| 日韩专区在线视频| 天天做天天摸天天爽国产一区 | 欧美在线免费播放| 国产69精品久久久久777| 精品系列免费在线观看| 午夜国产不卡在线观看视频| 亚洲已满18点击进入久久| 国产精品不卡在线观看| 欧美xxxxx裸体时装秀| 色综合激情五月| 99re在线视频这里只有精品| 成人免费av网站| 成人免费毛片片v| 99久久精品免费看国产免费软件| 国产91在线观看丝袜| 成人午夜在线播放| 99精品视频一区二区三区| 色综合一区二区| 欧美精品一级二级| 2021国产精品久久精品| 国产欧美一区二区在线| 亚洲免费在线看| 天天综合日日夜夜精品| 狠狠色丁香久久婷婷综合丁香| 国产一区视频在线看| 色欧美片视频在线观看在线视频| 色94色欧美sute亚洲线路二 | 亚洲一区二区欧美激情| 美女国产一区二区| 99免费精品在线| 日韩午夜av电影| 国产精品午夜在线观看| 午夜精品国产更新| 成人免费毛片app| 欧美一区二区三区日韩| 国产精品麻豆欧美日韩ww| 亚洲风情在线资源站| 成av人片一区二区| 久久久亚洲精品石原莉奈| 亚洲香蕉伊在人在线观| eeuss影院一区二区三区| 制服丝袜亚洲播放| 亚洲123区在线观看| 色综合天天综合网国产成人综合天| 宅男噜噜噜66一区二区66| 一个色在线综合| 91色porny在线视频| 国产精品福利av| 国产成人精品aa毛片| 久久精品视频免费观看| 美国一区二区三区在线播放| 欧美男生操女生| 亚洲成人三级小说| 欧美在线观看视频一区二区| 亚洲最新在线观看| 91蝌蚪porny九色| 亚洲视频小说图片| 91在线你懂得| 亚洲1区2区3区视频| 337p亚洲精品色噜噜狠狠| 轻轻草成人在线| 久久久久99精品一区| 国产高清在线精品| 中文字幕在线观看一区二区| 色综合久久六月婷婷中文字幕| 亚洲欧美激情小说另类| 欧美在线观看禁18| 精品一二线国产| 亚洲色图丝袜美腿| 欧美一级久久久| 成人国产视频在线观看| 亚洲国产美国国产综合一区二区| 91麻豆精品国产91久久久资源速度| 九九九精品视频| 日韩一区欧美一区| 欧美一区二区三区在线看| 国产精品一区久久久久| 无码av中文一区二区三区桃花岛| 欧美刺激脚交jootjob| 波多野结衣中文一区| 美国毛片一区二区| 亚洲天堂网中文字| 久久久久久久久久久久电影| 91伊人久久大香线蕉| 高清不卡一二三区| 日本不卡中文字幕| 中文字幕在线观看不卡视频| 国产精品久久久久久久蜜臀| 国产精品一二三四五| 国产日韩在线不卡| 精品日韩成人av| 欧美日韩久久久一区| 日本大香伊一区二区三区| 成人小视频在线| 国产成人av一区二区三区在线 | 粉嫩av一区二区三区| 美女任你摸久久| 久久国内精品视频| 精品综合免费视频观看| 日韩电影在线观看网站| 亚洲不卡av一区二区三区| 亚洲一区二区视频在线观看| 亚洲综合免费观看高清完整版在线 | 日韩精品中文字幕一区| 日韩亚洲欧美高清| 欧美videossexotv100| 精品国产一区二区三区不卡| 日韩一级免费观看| 久久久久久久性| 中文字幕亚洲视频| 偷拍日韩校园综合在线| 日韩影院在线观看| 国产成人精品影院| 一本到三区不卡视频| 91久久国产综合久久| 337p亚洲精品色噜噜| 久久精品免视看| 亚洲人成在线观看一区二区| 欧美96一区二区免费视频| 久久不见久久见免费视频7 | 日韩一区二区三区四区| 久久久久97国产精华液好用吗| 亚洲欧美二区三区| 久久99国产乱子伦精品免费| 91丨九色丨国产丨porny|