瓦片地图的入库

article/2025/7/21 4:07:55

数据: 瓦片地图
数据库: MySQL
语言 : Java
方法: 用Java语言把瓦片地图以二进制的方式导入数据库

瓦片地图的存储格式
当我们用ArcMap切完瓦片之后, 它的存储方式是以级数,行列号的方式存储在文件夹中
级数:
在这里插入图片描述

行号:
在这里插入图片描述

列号:
在这里插入图片描述

一般的存储结构在数据库中存储它的 级数,行号,列号,图片(二进制)
在这里插入图片描述

具体的操作

假设你是在可以成功连接数据库的基础上的

public class ImageSQL {public static void main(String[] args) {//连接数据库Connection conn = null;PreparedStatement statement = null;try {//注册驱动Class.forName("com.mysql.cj.jdbc.Driver");//获取数据库的连接对象 Connectionconn = DriverManager.getConnection("jdbc:mysql://localhost:3306/SchoolTownDB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC", "root", "qq124519");//照片所在文件的路径String  path = "D:\\Documents\\Desktop\\layer2\\_alllayers\\4\\R0001b320";File file = new File(path);//声明一个文件流//定义SQL语句String sql="insert into map(level,rowm,colm,image ) values(?,?,?,?)";//存入数据库的SQL语句在执行的时候一定要用prepareStatementFile[] fs=file.listFiles();for (File f:fs){FileInputStream inputStream= null;try {inputStream = new FileInputStream(f);statement = conn.prepareStatement(sql);statement.setString(1,"4");//设置级数statement.setString(2,String.valueOf(f.getParentFile().getName()));//获取行号statement.setString(3,f.getName().substring(0,f.getName().lastIndexOf(".")).toString());//获取列号statement.setBinaryStream(4, inputStream,(int)f.length());//图片存入二进制流statement.executeUpdate();} catch (FileNotFoundException e) {e.printStackTrace();}}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} finally {//释放资源try {if(statement != null){statement.close();}if(conn != null){conn.close();}System.out.println("数据库关闭");} catch (SQLException e) {e.printStackTrace();}}}}

运行结果
在这里插入图片描述
如果用的是SQLyog的数据库操作界面, 还可以直接浏览瓦片
在这里插入图片描述
瓦片的存储对存储的方式要求特别高, 以上代码也是能自动按照文件名(行列号)由小到大的顺序来存储的,所以不用担心

局限:
这个方法只能对某个文件夹下的所有瓦片进行批量的导入, 但是往往瓦片的存储结构是用很多文件夹作为行号来分别存储的, 所以这个程序每存储一次需要修改一下路径中的行号文件夹, 如果瓦片过多的话还是相对麻烦

优化:
在对文件夹内的瓦片遍历的时候做一个判断, 判断下一个访问对象是文件还是文件夹, 如果判断的结果是文件夹, 则递归调用上面的方法,在这个文件夹内继续遍历,知道访问的对象是文件为止,遍历完后跳出循环,到最初访问的文件夹的下一个同级的访问对象; 如果判断的结果是文件,则遍历这个文件夹内所有的文件
(写的不是很清楚)

private static void func(File file){File[] fs=file.listFiles();for (File f:fs){if (f.isDirectory()) {//判断是否是目录func(f);//若是目录,则递归打印该目录下的文件}if (f.isFile()){//判断是否是文件//若是文件, 写入需要的方法//System.out.println(f);}}}

http://chatgpt.dhexx.cn/article/rGefFFjT.shtml

相关文章

各种瓦片地图

概述 研究了一阵子的地图,太过深奥了。写了一个小程序,可以下载瓦片地图。下面是各种瓦片图例。 瓦片地图 微软瓦片地图 图1 图2 谷歌瓦片地图 图3 图4 osm瓦片地图 图5 图6 天地图瓦片地图 图7 图8 水瓦片地图 图9 图10 后续 还…

geoserver发布TIF格式瓦片地图

一,准备tif地图 可以通过全能电子地图下载器获取地图(软件可以去淘宝下载) 二,geoserver发布tif 在geoserver安装文件夹中双击“startup.bat”打开服务(注意:为了防止端口占用,我这里更改了默…

Unity 瓦片地图

一些常见的使用类似方法绘制地图的游戏: 泰拉瑞亚: 如果有老哥玩过泰拉瑞亚的地图编辑器,其实unity瓦片地图和泰拉瑞亚地图编辑器手感类似 蔚蓝: 大名鼎鼎的蔚蓝也是如此 Untiy中制作2D俯视角游戏,往往需要使用瓦片地图…

瓦片地图下载工具

收费工具,学生党勿扰,白嫖党勿扰 收费金额:200元 MyChat:wangjianjun1018 瓦片地图下载工具 概述操作查看地图 下载链接说明后续 概述 最近花费一点时间,研究瓦片地图。在网上找了好久,有好多下载的提供商…

百度个性化瓦片地图下载

百度个性化瓦片地图下载 因为近期项目需求,客户项目在内网使用,不连接外网,因此地图不能使用在线地图,必须使用离线地图。 离线地图使用在之前的博客写过,就不在累述了。https://blog.csdn.net/weixin_42776111/arti…

Tilemap瓦片地图

可以用Tilemap工具来构建游戏世界的地图,创建瓦片地图时,Grid组件自动作为瓦片地图的父级,相比于传统使用照片搭建地图的方式,使用瓦片地图用来搭建地图可以更加迅速,而且使用传统方式搭建地图时,需要添加大量的碰撞体…

leaflet加载离线瓦片地图

首先我们要明白瓦片地图的请求原理。 其实瓦片地图并不是什么特殊的文件,就是最普通的png图片。之所以为地图,就是带有了该图片按规则组织,绘制时,按规则拼图组装而已; 打开network,查看其请求的的url就能…

瓦片地图原理

GIS介绍 地理信息系统(Geographic Information System或 Geo-Information system,GIS)有时又称为“地学信息系统”。它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层&…

Unity(9)-TileMap瓦片地图

文章目录 前言相关介绍其他介绍上一篇笔记下一篇笔记 一、图片预处理二、创建调色板(TilePalette)三、创建瓦片(Tile)[1]. 方式一[2]. 方式二 四、修改瓦片(Tile)[1]. 参数介绍[2]. 修改Sprite[3]. 修改Color[4]. 修改ColliderType 五、创建瓦…

cocos2d-x瓦片地图制作详解

瓦片地图制作详解 瓦片地图的原理是把图片中的元素进行单位化,将大图片拆成一张张小图块,然后通过组合拼接的方式,重新拼出整个地图。其流程为:项目定好游戏中瓦片的大小,然后美术绘制瓦片并制作成瓦片图集&#xff0c…

Unity学习:瓦片地图

目录 一、tilemap 二、rule tiles 三、rule override tile 四、advanced override tile 五、伪透视图 这里首先给出unity的官方文档: https://docs.unity3d.com/Manual/class-Tilemap.htmlhttps://docs.unity3d.com/Manual/class-Tilemap.html 一、tilemap 创建 创…

GIS理论知识(四)之地图的图层(切片/瓦片)概念

1.图层中数据的分类 在日常使用中,常用的数据有两种即矢量数据和栅格数据,都可直接导入到GIS软件(ArcMap,SuperMapIDeskTop,Udig,QGIS)中对其作相应的处理。 1.1.矢量数据 矢量数据是利用欧几里德几何学中点、线、面及其组合体…

瓦片地图服务与地图瓦片原理

本文字数:9099字 预计阅读时间:25分钟 这里,首先我们从概念出发,搞清楚瓦片地图服务以及地图瓦片的原理,读起来似乎有点拗口,但是从字面上看得出它们必定拥有着区别与联系,前者是WebGIS中的一个…

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

目录 1 TileMap概念 主要思想 优点 创建的层级 2 Unity中的TileMap 2.1 自动父级Grid 网格 2.2 Sprite精灵 2.3 Tile 瓦片 2.4 Tile Palette 调色板 2.5 Brush 笔刷 3 Tilemap Renderer 瓦片地图渲染器 3.1 Sort Order 瓦片排列顺序 3.2 Mode 渲染模式 Chunk 分块…

SDL游戏开发之三-瓦片地图

一.瓦片地图 1)瓦片地图简介 瓦片地图(Tiled Map),又称为瓷砖地图,是在游戏开发中经常使用到的技术,它是由少量的尺寸相同的、小的瓦片图片拼接而成的很大的地图。相对于使用一张张图片来绘制地图而言,瓦片地图不仅大…

瓦片地图是什么鬼

瓦片地图的诞生 地图数据通常体量较大,需要充足的带宽和数据渲染能力。瓦片地图诞生以前,地图多在局域网的桌面软件中使用。互联网的发展,催生了通过浏览器使用地图的需求,于是在1999年,出现了WMS(Web Map …

Unity-瓦片地图详解

前言 在学习瓦片地图的使用时,我发现无论国内外还是Unity官方的相关教程都比较散,接触的比较浅,学的我挺难受的,所以就把各个地方看的教程加上我自己的理解,和官方的API手册,总结出了这个详解。 0. 瓦片地…

html2canvas页面截图图片不显示

前两天在一个群里,有人问使用html2canvas屏幕截图的时候为什么页面的图片不显示只显示了文字,我没有做过屏幕截图的需求,所以不是很清楚,今天稍稍测试了一下。 在github上将html2canvas源码下载到本地,examples文件夹…

js如何实现页面截图生成并分享功能,如何向后端传递

通过html2canvas生成分享图片 什么是 html2canvs? html2canvas 的作用就是允许让我们直接在用户浏览器上拍摄网页或其部分的“截图”。它的屏幕截图是基于 DOM 的,因此可能不会 100% 精确到真实的表示,因为它不会生成实际的屏幕截图,而是基…

移动端H5页面截图【含 domtoimage、html2canvas 】

起因: 由于云栖大会项目需要支持 名片保存到本地功能【如下图红框】,所以,需要单独截取页面中的名片信息,并且保存到本地。 推荐给:需要获取页面内容,给页面截图的小伙伴 介绍两个工具: html2c…