- 浏览: 7325437 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
GIS的学习(五十)应用程序中使用osmdroid-packager下载生成地图碎片
package com.etrip.osmdroid.tiles; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import org.osmdroid.mtp.adt.OSMTileInfo; import org.osmdroid.mtp.download.DownloadManager; import org.osmdroid.mtp.util.DbCreator; import org.osmdroid.mtp.util.FolderDeleter; import org.osmdroid.mtp.util.FolderFileCounter; import org.osmdroid.mtp.util.FolderZipper; import org.osmdroid.mtp.util.Util; import org.osmdroid.util.GEMFFile; /** * *源代码出处来自 OSMMapTilePackage.jar中OSMMapTilePackageLoader的类 * *官方地址: * http://code.google.com/p/osmdroid/ * *OSMMapTilePackage的使用 * http://code.google.com/p/osmdroid/wiki/HowToUsePackager * * * * @author longgangbai */ public class OSMMapTilePackageLoader { // =========================================================== // Constants // =========================================================== private static final int THREADCOUNT_DEFAULT = 2; private static boolean FORCE = false; // =========================================================== // Fields // =========================================================== // =========================================================== // Constructors // =========================================================== public static void main(final String[] args) { final String pServerURL="http://tile.openstreetmap.org/%d/%d/%d.png"; final String pDestinationFile="Mapnik"; final String pTempFolder="D://haarlem.zip"; final int pThreadCount=18; final String pFileAppendix="/"; final int pMinZoom=10; final int pMaxZoom=15; final double pNorth=52.4244d; final double pSouth=52.3388d; final double pEast=4.6746d; final double pWest=4.5949; run( pServerURL, pDestinationFile, pTempFolder, pThreadCount, pFileAppendix, pMinZoom, pMaxZoom, pNorth, pSouth, pEast, pWest); } private static void run(final String pServerURL, final String pDestinationFile, final String pTempFolder, final int pThreadCount, final String pFileAppendix, final int pMinZoom, final int pMaxZoom, final double pNorth, final double pSouth, final double pEast, final double pWest) { if (pServerURL != null) { System.out.println("---------------------------"); final int expectedFileCount = runFileExpecter(pMinZoom, pMaxZoom, pNorth, pSouth, pEast, pWest); System.out.println("---------------------------"); runDownloading(pServerURL, pTempFolder, pThreadCount, pFileAppendix, pMinZoom, pMaxZoom, pNorth, pSouth, pEast, pWest); System.out.println("---------------------------"); runFileExistenceChecker(expectedFileCount, pTempFolder, pMinZoom, pMaxZoom, pNorth, pSouth, pEast, pWest); } if (pDestinationFile != null) { System.out.println("---------------------------"); if (pDestinationFile.endsWith(".zip")) { runZipToFile(pTempFolder, pDestinationFile); } else if (pDestinationFile.endsWith(".gemf")) { runCreateGEMFFile(pTempFolder, pDestinationFile); } else { runCreateDb(pTempFolder, pDestinationFile); } System.out.println("---------------------------"); if (pServerURL != null) { runCleanup(pTempFolder); } } System.out.println("---------------------------"); } private static void runFileExistenceChecker(final int pExpectedFileCount, final String pTempFolder, final int pMinZoom, final int pMaxZoom, final double pNorth, final double pSouth, final double pEast, final double pWest) { abortIfUserIsNotSure("This will check if the actual filecount is the same as the expected (" + pExpectedFileCount + ")."); /* Quickly count files in the tempFolder. */ System.out.print("Counting existing files ..."); final int actualFileCount = FolderFileCounter .getTotalRecursiveFileCount(new File(pTempFolder)); if (pExpectedFileCount == actualFileCount) { System.out.println(" done."); } else { System.out.println(" FAIL!"); abortIfUserIsNotSure("Reason: Actual files:" + actualFileCount + " Expected: " + pExpectedFileCount + ". Proceed?"); } } private static void printUsageAndExit() { System.out.println("Usage:\n" + "-u\t[OSM-style tile URL: http://_URL_/%d/%d/%d.png]\n" + "-t\t[Temporary Folder]\n" + "-d\t[Destination-file: C:\\mappack.zip]\n" + "-zmin\t[Minimum zoomLevel to download. Default: 0]\n" + "-zmax\t[Maximum zoomLevel to download]\n" + "-fa\t[Filename-Appendix. Default: \"\"]\n" + "-n\t[North Latitude]\n" + "-s\t[South Latitude]\n" + "-e\t[East Longitude]\n" + "-w\t[West Longitude]\n" + "-nthreads\t[Number of Download-Threads. Default: 2]\n"); System.exit(0); } // =========================================================== // Getter & Setter // =========================================================== // =========================================================== // Methods from SuperClass/Interfaces // =========================================================== // =========================================================== // Methods // =========================================================== private static void runCreateGEMFFile(final String pTempFolder, final String pDestinationFile) { try { System.out.println("Creating GEMF archive from " + pTempFolder + " to " + pDestinationFile + " ..."); final List<File> sourceFolders = new ArrayList<File>(); sourceFolders.add(new File(pTempFolder)); final GEMFFile file = new GEMFFile(pDestinationFile, sourceFolders); System.out.println(" done."); } catch (final Exception e) { e.printStackTrace(); } } private static void runZipToFile(final String pTempFolder, final String pDestinationFile) { try { System.out.print("Zipping files to " + pDestinationFile + " ..."); FolderZipper.zipFolderToFile(new File(pDestinationFile), new File( pTempFolder)); System.out.println(" done."); } catch (final Exception e) { e.printStackTrace(); } } private static void runCreateDb(final String pTempFolder, final String pDestinationFile) { try { System.out.print("Putting files into db : " + pDestinationFile + " ..."); DbCreator.putFolderToDb(new File(pDestinationFile), new File( pTempFolder)); System.out.println(" done."); } catch (final Exception e) { e.printStackTrace(); } } private static void runCleanup(final String pTempFolder) { abortIfUserIsNotSure("This will delete the temp folder: " + pTempFolder + " !"); /* deleteDirecto */ System.out.print("Deleting temp folder ..."); FolderDeleter.deleteFolder(new File(pTempFolder)); System.out.println(" done."); } private static void runDownloading(final String pBaseURL, final String pTempFolder, final int pThreadCount, final String pFileAppendix, final int pMinZoom, final int pMaxZoom, final double pNorth, final double pSouth, final double pEast, final double pWest) { final String pTempBaseURL = pTempFolder + File.separator + "%d" + File.separator + "%d" + File.separator + "%d" + pBaseURL.substring(pBaseURL.lastIndexOf('.')) + pFileAppendix.replace(File.separator + File.separator, File.separator); final DownloadManager dm = new DownloadManager(pBaseURL, pTempBaseURL, pThreadCount); /* For each zoomLevel. */ for (int z = pMinZoom; z <= pMaxZoom; z++) { final OSMTileInfo upperLeft = Util.getMapTileFromCoordinates( pNorth, pWest, z); final OSMTileInfo lowerRight = Util.getMapTileFromCoordinates( pSouth, pEast, z); System.out.print("ZoomLevel: " + z + " "); for (int x = upperLeft.x; x <= lowerRight.x; x++) { for (int y = upperLeft.y; y <= lowerRight.y; y++) { dm.add(new OSMTileInfo(x, y, z)); } } try { dm.waitEmpty(); System.out.println(" done."); } catch (final InterruptedException e) { e.printStackTrace(); } } try { System.out.print("Awaiting termination of all threads ..."); dm.waitFinished(); System.out.println(" done."); } catch (final InterruptedException e) { e.printStackTrace(); } } private static int runFileExpecter(final int pMinZoom, final int pMaxZoom, final double pNorth, final double pSouth, final double pEast, final double pWest) { /* Calculate file-count. */ int fileCnt = 0; for (int z = pMinZoom; z <= pMaxZoom; z++) { final OSMTileInfo upperLeft = Util.getMapTileFromCoordinates( pNorth, pWest, z); final OSMTileInfo lowerRight = Util.getMapTileFromCoordinates( pSouth, pEast, z); final int dx = lowerRight.x - upperLeft.x + 1; final int dy = lowerRight.y - upperLeft.y + 1; fileCnt += dx * dy; } abortIfUserIsNotSure("This will download: " + fileCnt + " Maptiles!"); return fileCnt; } private static void abortIfUserIsNotSure(final String message) { if (FORCE) { return; } System.out.println(message); System.out.print("Are you sure? [Y/N] ?: "); try { java.awt.Toolkit.getDefaultToolkit().beep(); } catch (final Throwable t) { /* Ignore */ } final String line = new Scanner(System.in).nextLine().toUpperCase() .trim(); if (!line.equals("Y") && !line.equals("YES")) { System.err.println("User aborted."); System.exit(0); } } // =========================================================== // Inner and Anonymous Classes // =========================================================== }
发表评论
-
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3351TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51569文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14165最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8682TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2704TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2802TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2447TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2776TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2693TestNG官方网站: http://testng.or ... -
TestNG简单的学习(四)测试方法通过名称名称依赖实现
2013-12-02 09:21 2074TestNG官方网站: http://testng.or ... -
TestNG简单的学习(三)测试方法通过测试分组依赖实现
2013-12-02 09:21 2821TestNG官方网站: http://testng.or ... -
TestNG简单的学习(二)参数化测试并发且多方法测试方法判定
2013-11-29 15:35 3691TestNG官方网站: http://testng.or ... -
TestNG简单的学习(一)类和方法级别@Test的区别
2013-11-29 15:31 9415TestNG官方文档的地址: http://testng ... -
Feed4Junit的简单使用(七)Feed4TestNg
2013-11-29 13:35 6123在Feed4Junit主要针对junit实现的 ... -
Feed4Junit的简单使用(六)数据来特定格式文件
2013-11-29 12:29 2759Feed4Junit官方地址: http://da ... -
Feed4Junit的简单使用(五)数据来自动态约束数据
2013-11-29 12:29 2621Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(四)数据来自定义数据源
2013-11-28 14:09 3091Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(三)数据源来自数据库
2013-11-28 13:58 3162Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(二)数据源来自文件
2013-11-28 13:50 4562Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(一)
2013-11-28 13:47 2204Feed4Junit官方地址: http://databe ...
相关推荐
pandas whl安装包,对应各个python版本和系统(具体看资源名字),找准自己对应的下载即可! 下载后解压出来是已.whl为后缀的安装包,进入终端,直接pip install pandas-xxx.whl即可,非常方便。 再也不用担心pip联网下载网络超时,各种安装不成功的问题。
基于java的大学生兼职信息系统答辩PPT.pptx
基于java的乐校园二手书交易管理系统答辩PPT.pptx
tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl
Android Studio Ladybug 2024.2.1(android-studio-2024.2.1.10-mac.dmg)适用于macOS Intel系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/89954174 part2: https://download.csdn.net/download/weixin_43800734/89954175
有学生和教师两种角色 登录和注册模块 考场信息模块 考试信息模块 点我收藏 功能 监考安排模块 考场类型模块 系统公告模块 个人中心模块: 1、修改个人信息,可以上传图片 2、我的收藏列表 账号管理模块 服务模块 eclipse或者idea 均可以运行 jdk1.8 apache-maven-3.6 mysql5.7及以上 tomcat 8.0及以上版本
tornado-6.1b2-cp38-cp38-macosx_10_9_x86_64.whl
Android Studio Ladybug 2024.2.1(android-studio-2024.2.1.10-mac.dmg)适用于macOS Intel系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/89954174 part2: https://download.csdn.net/download/weixin_43800734/89954175
matlab
基于java的毕业生就业信息管理系统答辩PPT.pptx
随着高等教育的普及和毕业设计的日益重要,为了方便教师、学生和管理员进行毕业设计的选题和管理,我们开发了这款基于Web的毕业设计选题系统。 该系统主要包括教师管理、院系管理、学生管理等多个模块。在教师管理模块中,管理员可以新增、删除教师信息,并查看教师的详细资料,方便进行教师资源的分配和管理。院系管理模块则允许管理员对各个院系的信息进行管理和维护,确保信息的准确性和完整性。 学生管理模块是系统的核心之一,它提供了学生选题、任务书管理、开题报告管理、开题成绩管理等功能。学生可以在此模块中进行毕业设计的选题,并上传任务书和开题报告,管理员和教师则可以对学生的报告进行审阅和评分。 此外,系统还具备课题分类管理和课题信息管理功能,方便对毕业设计课题进行分类和归档,提高管理效率。在线留言功能则为学生、教师和管理员提供了一个交流互动的平台,可以就毕业设计相关问题进行讨论和解答。 整个系统设计简洁明了,操作便捷,大大提高了毕业设计的选题和管理效率,为高等教育的发展做出了积极贡献。
这个数据集来自世界卫生组织(WHO),包含了2000年至2015年期间193个国家的预期寿命和相关健康因素的数据。它提供了一个全面的视角,用于分析影响全球人口预期寿命的多种因素。数据集涵盖了从婴儿死亡率、GDP、BMI到免疫接种覆盖率等多个维度,为研究者提供了丰富的信息来探索和预测预期寿命。 该数据集的特点在于其跨国家的比较性,使得研究者能够识别出不同国家之间预期寿命的差异,并分析这些差异背后的原因。数据集包含22个特征列和2938行数据,涉及的变量被分为几个大类:免疫相关因素、死亡因素、经济因素和社会因素。这些数据不仅有助于了解全球健康趋势,还可以辅助制定公共卫生政策和社会福利计划。 数据集的处理包括对缺失值的处理、数据类型转换以及去重等步骤,以确保数据的准确性和可靠性。研究者可以使用这个数据集来探索如教育、健康习惯、生活方式等因素如何影响人们的寿命,以及不同国家的经济发展水平如何与预期寿命相关联。此外,数据集还可以用于预测模型的构建,通过回归分析等统计方法来预测预期寿命。 总的来说,这个数据集是研究全球健康和预期寿命变化的宝贵资源,它不仅提供了历史数据,还为未来的研究和政策制
基于微信小程序的高校毕业论文管理系统小程序答辩PPT.pptx
基于java的超市 Pos 收银管理系统答辩PPT.pptx
基于java的网上报名系统答辩PPT.pptx
基于java的网上书城答辩PPT.pptx
婚恋网站 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
基于java的戒烟网站答辩PPT.pptx
基于微信小程序的“健康早知道”微信小程序答辩PPT.pptx
Capital Bikeshare 数据集是一个包含从2020年5月到2024年8月的自行车共享使用情况的数据集。这个数据集记录了华盛顿特区Capital Bikeshare项目中自行车的租赁模式,包括了骑行的持续时间、开始和结束日期时间、起始和结束站点、使用的自行车编号、用户类型(注册会员或临时用户)等信息。这些数据可以帮助分析和预测自行车共享系统的需求模式,以及了解用户行为和偏好。 数据集的特点包括: 时间范围:覆盖了四年多的时间,提供了长期的数据观察。 细节丰富:包含了每次骑行的详细信息,如日期、时间、天气条件、季节等,有助于深入分析。 用户分类:数据中区分了注册用户和临时用户,可以分析不同用户群体的使用习惯。 天气和季节因素:包含了天气情况和季节信息,可以研究这些因素对骑行需求的影响。 通过分析这个数据集,可以得出关于自行车共享使用模式的多种见解,比如一天中不同时间段的使用高峰、不同天气条件下的使用差异、季节性变化对骑行需求的影响等。这些信息对于城市规划者、交通管理者以及自行车共享服务提供商来说都是非常宝贵的,可以帮助他们优化服务、提高效率和满足用户需求。同时,这个数据集也