这是 osmconvert 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
osmconvert - OSM 文件转换器
概要
渗透转换 选项 [输入文件]
商品描述
该程序读取 OpenStreetMap 项目的不同文件格式并转换
数据到选定的输出文件格式。
这些 格式 能够 be 读:
.osm .osc .osc.gz .osh .o5m .o5c .pbf
这些 格式 能够 be 书面:
.osm(默认) .osc .osh .o5m .o5c .pbf
输入文件的名称必须指定为命令行参数。 使用 - 读取
标准输入。 您不需要指定输入格式,osmconvert 会识别
他们自己。 输出格式默认为 .osm。 如果你想要不同的格式,
请使用适当的命令行参数指定它。
配置
-b=, , ,
如果要限制地理区域,可以定义一个边界框。 去做
这个,进入那个区域的西南角和东北角。 为了
例: -b= -0.5,51,0.5,52
-B=
除了边界框,您还可以使用边界多边形来限制
地理区域。 边界多边形文件的格式可以在 OSM 中找到
维基在 Polygon_Filter_File_Format : http://wiki.openstreetmap.org/wiki/Osmosis/
您不需要严格遵循格式说明,您必须确保
每行坐标都以空格开头。
--完整的方式
如果应用边界框或边界多边形,则排除边界的所有节点;
即使它们属于一种未被完全排除的方式,因为它具有
边界内的一些节点。 此选项将确保每一种方式都保持不变
完整,即使它与边界相交。 这将导致处理速度变慢,
并且程序将失去从标准输入读取的能力。 这是
建议使用 .o5m 格式作为输入格式来补偿大部分速度
坏处。
--复杂的方式
和以前一样,但多边形也不会在边界处被切割。
--所有到节点
有些应用程序没有处理方式或关系的能力,它们只是
接受节点作为输入。 然而,越来越多的复杂对象被映射为方式或
甚至关系,以便将所有详细信息输入数据库。 应用这个
选项,如果您想将方式和关系转换为节点,从而使它们
可用于只能处理节点的应用程序。 对于节点的每一种方式
创建。 路的id增加10^15,作为新节点的id。 这
节点的经纬度设置为路径的地理中心。 相同的
适用于关系,但是它们得到 2*10^15 作为 id 偏移量。
--add-bbox-标签
此选项为每个对象添加一个带有边界框的标签。 该标签将包含
边界坐标按此顺序: min Longitude, min Latitude, max Longitude ,
最大纬度。 例如:
--add-bboxarea-标签
bbox 的估计面积值的标签被添加到每个方式和每个
关系。 单位是平方米。 例如:
v="33828002"/>
--add-bboxweight-标签
该选项将每路和每路的bbox区域的二进制对数相加
关系。 例如:
--add-bboxwidth-标签
bbox 的估计宽度值的标签被添加到每个方式和每个
关系。 单位是米。 例如:
--add-bboxwidthweight-标签
此选项将添加每个方式和每个的 bbox 宽度的二进制对数
关系。 例如:
--对象类型偏移=
如果应用 --所有到节点 如上所述的选项,您可以调整 id
抵消。 例如: --对象类型偏移= 4000000000
通过将“+1”附加到偏移量,程序将按顺序创建 ids
第 1 步。如果有后续运行的应用程序,这可能很有用
它无法处理大 ID 号。 例子:
--对象类型偏移= 1900000000 + 1
--drop-broken-refs
如果您需要删除对已排除节点的引用,请使用此选项
因为位于边界之外(对于某些应用程序是必需的,例如 Map
作曲家,JOSM)。
--drop-作者
对于大多数应用程序,不需要作者标签。 如果指定此选项,
不会写入任何作者信息:没有变更集、用户或时间戳。
--drop-版本
如果不仅要排除作者信息,还要排除版本号,
指定此选项。
--drop-nodes --drop-ways --drop-关系
根据这些参数的组合,没有被引用的成员
部分将被写入。
--差异
计算两个文件之间的差异并创建一个新的 .osc 或 .o5c 文件。 那里
必须是两个输入文件并且不能应用边框。 两个文件都必须排序
按对象类型和 ID。 创建的对象将出现在输出文件中
“已修改”,除非版本号为 1。
--差异内容
像 --差异,此选项计算两个 OSM 文件之间的差异。 这里,
要确定差异,请咨询完整的 OSM 对象,不仅是
版本号。 不幸的是,这个选项严格要求两个输入文件
有 .o5m 格式。
- 减去
输出文件将不包含存在于输入文件之一中的任何对象
遵循此指令。 例如:osmconvert input.o5m - 减去 减去.o5m
-o=输出.o5m
--pbf-粒度=
很少有 .pbf 文件带有非标准粒度。 osmconvert 会识别
this 并建议使用此命令指定异常的 lon/lat 粒度
线选项。 允许的值为:100(默认)、1000、10000、...、10000000。
--模拟渗透 --模拟-pbf2osm
在 .osm 输出格式的情况下,程序将尝试使用与
渗透,分别。 pbf2osm。
--假作者
如果您删除了作者信息 (--drop-作者) 数据将会丢失,
课程。 然而,一些程序需要输入的作者信息,尽管它们确实如此
不需要那个数据。 为此,您可以伪造作者信息。
osmconvert 将写入变更集 1,时间戳 1970。
--假版
与...一样 --假作者, 但是 - 如果 .osm xml 用作输出格式 - 只有
将写入版本号(版本 1)。 如果您想检查,这很有用
JOSM 的数据。
--假隆拉特
一些程序依赖于获取经度/纬度值,即使对象在
问题将被删除。 使用此选项,您可以让 osmconvert 伪造这些
值:
... lat="0" lon="0" ...
请注意,这仅适用于 XML 文件(.osc 和 .osh)。
-h
显示简短的参数概览。
- 帮帮我
显示此帮助。
--合并版本
一些 .osc 文件包含一个对象的不同版本。 使用此选项可
接受这样的输入重复。
--out-osm
数据将以 .osm 格式写入。 这是默认的输出格式。
--out-osc
OSM Change 格式将用于输出。 请注意 OSM 对象
将被删除的将仅由其 ID 表示。
--out-osh
对于每个 OSM 对象,将添加适当的“可见”标签以满足“完整
行星历史规范。
--out-o5m
将使用 .o5m 格式。 这种格式的结构与
传统的 .osm 格式,但数据存储为二进制数并且是
因此比 .osm 格式更紧凑。 不使用包装,因此您可以
使用您想要的每个文件打包程序打包 .o5m 文件,例如 lzo、bz2 等。
--out-o5c
这是 .o5m 数据格式的更改文件格式。 全部标签不会
作为删除操作执行但转换为 .o5c 数据格式。
--out-pbf
对于输出,将使用 PBF 格式。
--out-csv
一个字符分隔的列表将被写入输出。 默认分隔符是
Tab,默认列有:type、id、name。 您可以使用
选项 --csv-分隔符= 和 --csv=
--csv-标题
选择此选项可将标题打印到 csv 输出。
--csv-分隔符=
您可以将默认分隔符 (Tab) 更改为不同的字符或字符
序列。 例如: --csv-分隔符=“;”
--csv=
如果您想在 csv 列表中包含某些列,请将它们的名称指定为
在这个例子中显示: --csv="@id name ref description" 有几个特殊的
标题数据的列名:@otype(对象类型 0..2)、@oname(对象类型名称)、
@id @lon、@lat、@version、@timestamp、@changeset、@uid、@user
--out-无
这将不是标准输出。 此选项仅用于测试目的。
--时间戳= --时间戳=现在
如果要设置输出文件的 OSM 时间戳,请提供它
选项。 日期和时间必须根据 OSM 日期/时间规范进行格式化。 为了
例: --timestamp=2011-01-31T23:59:30Z 您 还 能够 供应 a 相对的 次 in
秒 例如 24h 前: --时间戳=NOW-86400
--out 时间戳
设置此选项后,osmconvert 仅打印输入文件的时间戳,
没有其他的。
- 统计数据
此选项激活统计计数器。 程序将打印统计数据
到标准错误。
--out-统计
与...一样 - 统计数据,但统计数据将写入标准输出。
-o=
标准输出将重新路由到指定的文件。 如果没有输出格式
已指定,程序将依赖于文件扩展名。
-t=
如果要应用边界或要消除损坏的引用,则 osmconvert
创建并使用两个临时文件。 此参数定义了它们的名称前缀。
默认值为“osmconvert_tempfile”。
--参数文件=文件
如果您想通过参数文件提供一个或多个命令行参数,
请使用此选项并指定文件名。 在参数文件中,
参数必须用空行分隔。 参数内的换行符将是
转换为空格。 以“//”开头的行将被视为注释。
-v --详细
激活“详细”模式后,一些统计数据和诊断数据将被
显示。 如果 -v 分别 --详细 是行中的第一个参数,osmconvert
将显示所有输入参数。
TUNING
为了加快进程,程序使用一些主内存作为哈希表。 默认情况下,
它使用 480 MB 来存储每个可能节点的标志,90 MB 用于存储路标志,以及 30
关系标志。 每个字节包含 8 个 ID 号的标志,即程序大小为 480 MB
可以存储3840亿个标志。 由于目前节点的ID不到1900亿
(2012 年 240 月),XNUMX MB 就足够了。 因此,例如,您可以将哈希大小减少到
例如 240、30 和 2 MB 使用此选项:
--哈希内存=240-30-2
但请记住,OSM 数据库在不断扩展。 为此,
program-own 默认值高于示例中显示的值,可能是合适的
将来增加它。 如果你不想打扰细节,你可以
以总和形式输入内存量,程序将自行除以它。 为了
例:
--哈希内存=1000
这 1000 MiB 将分为三部分:800 用于节点,150 用于方式,50 用于
关系。
因为我们采用散列,所以没有必要提供所有建议的内存; 这
程序也会以更少的哈希内存运行。 但是,在这种情况下,边界过滤器将
效果较差,即某些方式和某些关系会留在输出文件中
虽然他们应该被排除在外。 程序接受的最大值
哈希大小为 4000 MiB; 如果您超出了您的设备上可用的最大内存量
系统,程序将尝试减少此数量并显示警告消息。
还有一个临时内存空间只用于方式和方式的转换
与节点的关系(选项 --所有到节点)。 此空间足以容纳多达 25 个 Mio。
OSM 对象,为此需要 400 MB 的主内存,如果扩展选项需要 800 MB
--add-bbox-标签 已被调用。 如果这还不够或者如果您想节省内存,
您可以自行配置 OSM 对象的最大数量。 例如:
--最大对象=35000000
每个对象的引用数限制为 100,000。 这对所有人来说就足够了
OSM 文件。 如果您要通过转换 shapefile 或其他方式创建自己的 OSM 文件
文件转换为 OSM 格式,这可能会导致方式对象具有超过 100,000 个节点。 为了
因此,您需要相应地增加最大值。 例子:
--最大参考值=400000
限制
提取地理区域时(使用 -b or -B),输入文件必须包含
对象按其类型排序:首先是所有节点,其次是所有方式,然后是所有
关系。 在这些部分中的每一个中,对象部分必须按其 id 排序
按升序排列。
通常的 .osm、.osc、.o5m、o5c 和 .pbf 文件都遵循此条件。 这意味着你
不必担心这个限制。 osmconvert 将显示错误消息,如果
这个顺序被打破了。
如果提供边界的多边形文件,则最大多边形点数约为
40,000.
附注
该程序用于实验用途。 预计会出现故障和数据丢失。 不要使用
生产或商业系统中的程序。
在法律允许的范围内,不提供任何保证。 请将任何错误报告发送至
[电子邮件保护]
例
osmconvert 欧洲.pbf --drop-作者 >欧洲.osm
osmconvert europe.pbf |gzip >europe.osm.gz
bzcat 欧洲.osm.bz2 |./osmconvert --out-pbf >欧洲.pbf
osmconvert 欧洲.pbf -B=ch.poly >瑞士.osm
osmconvert 瑞士.osm --out-o5m >瑞士.o5m
osmconvert June_july.osc --out-o5c >june_july.o5c
osmconvert june.o5m june_july.o5c.gz --out-o5m >july.o5m
osmconvert sep.osm sep_oct.osc oct_nov.osc >nov.osm
osmconvert 北美洲.osm 南美洲.osm >americas.osm
使用 onworks.net 服务在线使用 osmconvert