Zh-hans:Level0
| Level0 | |
|---|---|
| 作者: | Ilya Zverev |
| 执照: | WTFPL (免费) |
| 平台: | Web |
| Status |
活跃 |
| 版本: | 1.3 更改日志 (2024-06-01) |
| 语言: | 英语
|
| 网站: | https://level0.osmz.ru |
| 源代码: | https://github.com/zverik/level0 |
| 编程语言: | PHP |
|
基于网页的 OSM 数据编辑器 | |
Level0 是一款基于浏览器的 OpenStreetMap 编辑器,设计目标兼具底层性与用户友好性。它不需要 JavaScript 支持,因此可以在移动设备和基于文本的浏览器上使用。
功能
该编辑器本质上是一个高级的 RawEditor,包含以下改进:
- 与 OSM XML 不同,你可以编辑更友好的 Level0L 代码
- 可以一次编辑多个实体(但请牢记 自动化编辑行为准则)
- 支持文件上传和地图调用
- 附加数据(如版本号)存储在服务器上
- 提供一个地图用于定位和移动节点
用法
在 URL 或一组 ID 字段中输入实体类型和标识符,例如 w123123。你可以一次指定多个实体(用逗号分隔);要下载父级路径和关系,请在标识符后添加星号(n45678*);添加感叹号用于下载子对象(例如一条路径的节点)。当然,支持 URL,可以指向 osm.org 网站也可以指向 API(注意所有 URL 都会被重写,因此你不能使用 osm.org 以外的地址)。然后根据需要点击 添加 或 替换 按钮,取决于你是否希望保留已编辑的数据。
当文本区域内的光标位于节点定义内部时(例如 node 45678),其位置和坐标会显示在地图上。随后你可以移动标记,并点击 ← 按钮来更新节点的坐标。
在 Overpass 中创建并运行查询后,若要在其中打开该编辑器,可点击 导出 按钮,然后从数据选项中选择 Level0。这将在默认浏览器中打开 Level0 编辑器,并加载查询结果。如果要更改多个对象上的标签(例如一个拼写错误),可以全选,将数据复制到外部文本编辑器中使用搜索和替换功能,然后将结果复制粘贴回 Level0 窗口。
要上传数据,请登录 OSM,输入必填的变更集注释,然后点击 上传 按钮。或者,你也可以下载一个 .osm 文件,在 JOSM 中打开并从那里上传。
要通过预加载的对象或地图区域打开编辑器,请使用 url 查询参数,例如:https://level0.osmz.ru/?url=node/240095754
也可以利用以下 JavaScript
小书签 自动在 Level0 中打开当前 node/way/relation 的 openstreetmap.org URL:
javascript:(function(){
open(document.location.toString().replace(/^.*\/(node|way|relation)(\/[0-9]+).*$/, "https://level0.osmz.ru/?url=$1$2"),'_blank') ;
})()
按钮
编辑器有许多按钮,功能如下:
- 添加到编辑器
- 将文件或 URL 的内容追加到正在编辑的数据中。可能导致冲突或覆盖任何内容。
- 替换编辑器中的数据
- 在加载文件或 URL 之前清空已编辑的数据。这将导致丢失所有更改。
- 撤销更改
- 将在编辑器会话中修改过的对象恢复到其基础状态,并更新已删除对象的内容。保留创建的对象和删除标记。
- 清除数据
- 顾名思义。
- 登录 / 退出
- 通过 OSM OAuth 对你进行验证。编辑器需要编辑权限,用户详细信息是可选的。
- 下载 .osm
- 将所有已编辑的数据提供为 JOSM 文件格式。你可以稍后导入这些数据(注意如果等待时间过长可能会出现冲突)。
- 验证
- 不执行任何操作:实际上每次按下任何按钮时数据都会被验证。结果会显示在文本区域下方。
- 检查冲突
- 下载所有被修改过的对象,并检查它们是否有新版本。
- 显示 osmChange
- 浏览在按下 上传到 OSM 按钮后将上传到 OSM 的 XML 数据流。
- 上传到 OSM
- 如果变更集注释已填写,存在修改过的对象且没有严重的验证消息,则将更改上传到 OSM 数据库。之后会清空数据。
- ←
- 设置或更改所选节点的坐标。
- 编辑此区域
- 将当前地图中心坐标复制到 URL 字段。按下 添加 或 替换 按钮下载该点周围的区域。
常见任务
编辑 POI 标签
- 在 osm.org(或编辑器侧边地图)上找到一个 POI,并尽可能放大。
- 将 osm.org URL 复制到编辑器的 URL 字段(或按下 编辑此区域 按钮)。
- 按下 替换编辑器中的数据 按钮。
- 找到相关的 POI。它可能是一个节点、一条路径,有时甚至是一个多边多边形关系。
- 编辑其标签。
- 按下 登录 按钮,然后按下 允许(或 osm.org 网站要求的其他操作)。
- 输入变更集注释(例如 更新了营业时间),然后按下 上传到 OSM 按钮。
创建 POI
- 检查该 POI 是否已存在(编辑 POI 的步骤 1-4)。如果不存在,则按下 清除数据。
- 在侧边地图上导航到 POI 的位置,将标记放置在该处。
- 在文本区域中输入 node。
- 按下左箭头 ← 按钮以添加坐标。
- 以 tag = value 格式在下一行添加标签。
- 上传更改:参见POI 编辑章节的第 6-7 步。
删除建筑物
- 下载包含该建筑物的区域(参见编辑 POI 的步骤 1-3)。
- 找到该建筑。我们假设它是一条路径。
- 在其头部添加一个减号(-),就像这样:-way 123123。
- 该路径包含一些节点,只有那些不被其他路径使用的节点才需要被删除。检查后将 - 添加到未使用节点的头部。
- 上传更改(编辑 POI 的步骤 6-7)。
- 如果你收到错误,可能删除了被其他路径引用的节点。移除一些减号。
如何检查一条路径是否未被关系引用:
- 将其头部(way 123123)复制到 URL 字段,添加一个星号(way 123123*),然后按下 添加到编辑器。
- 查看该路径是否作为成员出现在任何关系中。
- 要在此情况下正确删除该路径,请从关系中移除对它的引用。
拆分路径
- 下载一条路径及其节点:way12345678!(带有感叹号)
- 通过移动光标并查看地图,找到则拆分路径的节点。
- 复制该节点引用行。
- 在这两个节点行之间添加 way 行(仅三个字母,不包含 ID)。
- 将第一条路径的所有标签复制到新的
way头部之下。 - 上传更改(编辑 POI 的步骤 6-7)。
要合并路径,你需要从其中一条复制节点引用,然后在其路径头部前加上 "-" 字符。
恢复已删除的节点
- 在 osm.org 上打开该节点的页面:例如 https://www.openstreetmap.org/node/345345
- 确认它已被删除,并找到其版本。
- 在 Level0 编辑器的 URL 字段中输入 n345345.W,其中 345345 是节点标识符,W 是其版本减 1(例如,如果版本是 3,这里就填 2)。
- 检查坐标是否存在,然后将删除版本添加到节点标识符之后,用点号分隔,就像这样:"node 345345.3: <lat>, <lon>"。
- 上传更改(参见编辑 POI 的步骤 6-7)。
将节点还原到先前的版本
- 在 osm.org 上打开该节点的页面:例如 https://www.openstreetmap.org/node/345345
- 找到其版本。
- 在编辑器的 URL 字段中输入 n345345.W,其中 345345 是节点标识符,W 是其版本减 1(例如,如果当前版本是 3,这里就填 2)。
- 在浏览器中选择“复制”所有详细信息。
- 在编辑器的 URL 字段中输入 n345345 以获取最新版本。
- 在浏览器中选择“粘贴”,用先前版本的详细信息替换当前内容。
- 上传更改(参见编辑 POI 的步骤 6-7)。
变更集标签
界面提供了一个表单字段 变更集注释:,它会添加变更集标签 comment=*。请务必提供良好的注释,特别是当你使用底层编辑器时,以便其他用户能清楚识别你编辑的意图。标签 created_by=* 会使用所使用的软件版本自动添加。
额外的变更集标签可以在主编辑器框中添加,以关键字 changeset 开头,示例:
changeset source = survey
参见
外部链接
- Level0 网站
- GitHub 上的源代码 GitHub
- Fork 版本,不含可能侵犯隐私的 CDN,全部使用 https 链接替代 http 链接
- 在 talk@ 邮件列表中的 公告
|
由于谷歌对俄罗斯网站的限制,部分人在俄罗斯无法以正常方式访问 Level0。
|