跳转到内容

地图制作!/旧版本

来自维基教科书,开放世界中的开放书籍

该应用程序支持与 Google 地图网格兼容的地图瓦片(有关获取选项,请参见下文)。

提示和技巧

[编辑 | 编辑源代码]

以下是一些原始README文件中未提及的内容

  • 您可以使用某些服务生成具有负缩放值的图,但请先查看预览以确保您的区域有可用数据。
  • 您可以通过删除地图文件夹内的Nx文件夹来删除一些缩放级别以节省空间。但是,您不能删除1x(基础)缩放文件夹。
  • 负缩放有效(Google 地图除外 - Google 地图仅降至 0)。根据我的经验,Google 卫星降至 -3(在拉斯维加斯降至 -4),所有 Local.Live 地图降至 -2。
  • Google 地图下载.exe 将独立运行(图标资源 文件夹以及 config.txt 应在同一目录中)(只需编译一个发布版本,它将略微快一些,或者从 bin/Debug 中复制一个)。我不会发布“只有 exe”,因为我认为人们拥有源代码而不是仅仅运行一些随机应用程序很重要。


现成地图

[编辑 | 编辑源代码]

http://www.mediafire.com/?6nlknldk5lj 星图 - 带有经纬度

http://www.mediafire.com/?emnubmdmmyn 地铁(纽约、伦敦、莫斯科和多伦多) - 没有经纬度

http://unlockpsp.net/failai/mapViewer.rar - 立陶宛地图(带地图查看器程序)

http://www.in7ane.com/psp/maps_usgs_parks/ 美国公园的 USGS 地形图

http://www.in7ane.com/psp/maps_various/ 使用 MapCruncher 对齐和渲染的各种地图

http://www.in7ane.com/psp/maps_russian_topo/ topomaps.ru / topomaps.eu 地形图使用 MapCruncher 对齐和渲染

http://www.in7ane.com/psp/maps_toporama_canadian_parks/ atlas.nrcan.gc.ca 加拿大公园地形图使用 MapCruncher 渲染

现成POI文件

[编辑 | 编辑源代码]

http://www.dcemu.co.uk/vbulletin/showthread.php?t=33362 英国测速摄像头(待重新托管)


这尚未最终确定或加入地图制作!的发布版本,因此仅供参考。

感谢 Juanito 创建了原始的 FS 草案。

#          __________
# 0-7     | GPSFSV01 |
# 	  |----------|
# 8	  |    X     |
# 	  |----------|
# 16      |    Y     |
# 	  |----------|
# 24      | basezoom |
# 	  |----------|
# 32      | filetype |
# 	  |----------|
# 40      | maxsize  |
# 	  |----------|
# 48      |   IDX0   |
# 	  |----------|
# 56      |   IDX1   |
# 	  |__________|
# 	       .
# 	       .
# 	       .
#          __________
# 	  | IDX N    | - points to GPSFSEOF 
# 	  |----------|
#         |   PNG0   |
# 	  |----------|
# ..      |   PNG1   |
# 	  |----------|
# 	       .
# 	       .
# 	       .
#          __________
# 	  | PNG N-1  | - last image
# 	  |----------|
#         | GPSFSEOF |
# 	  |__________|

48 字节,所有 Int64 均为有符号

格式 描述
char[8] GPSFSV01
Int64 x 来自 coords.txt
Int64 y 来自 coords.txt
Int64 basezoom 来自 coords.txt
Int64 filetype 0 = png,1 = jpg
Int64 maxsize (N) 瓦片数量(包括缺失的瓦片)

注意: 如果 x 和/或 y 为负数,则解释为 coords.txt 丢失

8 * (N + 1) 字节,所有 Int64 均为有符号

格式 描述
Int64 IDX0 指向第一个图像(包括标头字节(48)偏移量)
Int64 IDX1 指向第二个图像(包括标头字节(48)偏移量)
... ... ...
Int64 IDXN-1 指向最后一个(第 N 个)图像(包括标头字节(48)偏移量)
Int64 IDXN 指向 GPSFSOEF 标记

来自 Pontomedon 的说明:在使用 in7ane 的 GMDL(全球地图下载工具)(http://www.in7ane.com/psp/) 创建的地图中,IDXN 实际上并不指向 GPSFSEOF 标记,而是包含最后一个图像的负大小(就像存在一个(缺失的)(N+1)个图像)

  • IDX 条目的数量始终固定,等于给定地图大小的最大瓦片数量。
  • 这样,任何 IDXn 条目都完全定义为从文件开头的偏移量。
  • IDX 部分首先覆盖最远的缩放瓦片。以下是一个示例


IDX0->4x000000

IDX1->4x000001

IDX.->4x015014

IDX.->4x015015 <此级别的最后一个瓦片>

...

IDX.->1x0000000

IDX.->1x0000001

...


来自 Pontomedon 的说明:这个示例有点令人困惑,因为 IDX0 实际上指向 1x000000,它是“最放大”缩放级别的左上角瓦片。

该示例应如下所示:具有 4 个级别(1x、2x、4x、8x)(340 个瓦片)的地图

IDX0->1x000000

IDX1->1x000001

...

IDX16->1x001000

IDX17->1x001001

...

IDX254->1x015014

IDX255->1x015015 <级别 1x 的最后一个瓦片>

IDX256->2x000000 <级别 2x 的第一个瓦片>

...

IDX319->2x007007 <级别 2x 的最后一个瓦片>

IDX320->4x000000 <级别 4x 的第一个瓦片>

...

IDX335->4x003003 <级别 4x 的最后一个瓦片>

IDX336->8x000000 <级别 8x 的第一个瓦片>

...

IDX339->8x001001 <级别 8x 的最后一个瓦片>

IDX340->GPSFSEOF



  • IDX 偏移量相对于地图文件开头:IDX0 = [00100000] 表示 PNG0 从文件开头开始 100000 字节。
  • 如果省略一个瓦片,则相应的索引将包含一个负数。该条目的绝对值应等于上一个条目的文件大小。示例


IDX0 00010000 非空 PNG 1K 大小

IDX1 00011000 非空 PNG 3K 大小

IDX2 -0003000 空文件

IDX3 -0003000 空文件 - 只要为负数,实际值并不重要

IDX4 00014000 非空文件 - 大小由下一个索引条目确定

5文件跨度更改

[编辑 | 编辑源代码]

与先前格式的更改

现在有 5 个文件(GPSFS、GPSFS1、GPSFS2、GPSFS3 和 GPSFS4) - 在此阶段,对于 4 个瓦片地图,后面的文件将丢失(这可能会导致地图制作!中的问题 - 测试)。

IDX 字段已拆分为 IDXfile 和 IDXidx,两者均为 int32(其他数字保持 int64),IDXfile 为 0 到 4,IDXidx 具有与以前相同的逻辑,但每个新文件都会重置为 0 - 所以(1)如果下一个 IDX 为 0,则使用 file.length 代替(2)如果您使用 idx > 0 来标识现有的瓦片,则现在需要 >= 0(是的,我花了很长时间才在我自己的代码中找到)。

华夏公益教科书