可以开发画湿地样式(绿色荧光底色)的能力吗?
其实只需要把河流的那个的颜色开放为绿色就可以啦!希望开发者可以考虑!谢谢!
嗨,具体是哪个城市使用绿色来表示湿地?欢迎附上参考资料 :)
请稍等,我搜寻一下相关资料。
q请开发者查看,杭州地铁这张图中”西溪湿地“和”阳陂湖湿地“都使用了绿色底色。希望能够考虑。谢谢开发者!
为防止因为文件过大影响查看,重新截图小区块上传~
谢谢各位开发者~
感觉应该和湖泊一并制作归为一个议题
我看河流在json定义中是已经有颜色的
"river": {
"color": [
"shanghai",
"river",
"#B9E3F9",
"#fff"
],
"width": 20
},
@thekingofcity 大佬考虑开放出来不? 我改了这个文件,#B9E3F9改成#00FF01,再重新导入,就得到了我想要的效果, @Hutk2023 也可以试试看
我看河流在json定义中是已经有颜色的
"river": { "color": [ "shanghai", "river", "#B9E3F9", "#fff" ], "width": 20 },@thekingofcity 大佬考虑开放出来不? 我改了这个文件,#B9E3F9改成#00FF01,再重新导入,就得到了我想要的效果, @Hutk2023 也可以试试看
而且我发现,这样放开以后,也可以解决 https://github.com/railmapgen/rmp/issues/374 里面提到的不同城市河流颜色不同的问题,这样可以自己指定,你们也可以预定义一些不同城市的河流颜色
我看河流在json定义中是已经有颜色的
"river": { "color": [ "shanghai", "river", "#B9E3F9", "#fff" ], "width": 20 },@thekingofcity 大佬考虑开放出来不? 我改了这个文件,#B9E3F9改成#00FF01,再重新导入,就得到了我想要的效果, @Hutk2023 也可以试试看
而且我发现,这样放开以后,也可以解决 https://github.com/railmapgen/rmp/issues/374 里面提到的不同城市河流颜色不同的问题,这样可以自己指定,你们也可以预定义一些不同城市的河流颜色
此功能请参考大师节点,See also #580
@rainydew 嗨,我们认为此议题讨论的是封闭图形的上色功能,为此,我们特意在5.0版本中新增了大师节点功能,方便用户自行设计并定义任何形状的图形并导入。当然,就如同您所注意到的,河流的确存储了颜色数据,没有开放此能力是考虑到纯色样式也能基本满足此变化,感谢您的理解 :)
此功能请参考大师节点,See also #580
@rainydew 嗨,我们认为此议题讨论的是封闭图形的上色功能,为此,我们特意在5.0版本中新增了大师节点功能,方便用户自行设计并定义任何形状的图形并导入。当然,就如同您所注意到的,河流的确存储了颜色数据,没有开放此能力是考虑到纯色样式也能基本满足此变化,感谢您的理解 :)
感谢解释 纯色小的问题是 深度默认不是最深(会掩盖其他地铁线路),以及会干扰导出到RMG的功能(会被当成线路)。比较大的问题是,不能指定宽度
@thekingofcity 我看了一下,single color的json里,属性没有指定width,考虑兼容性,推荐放开river的颜色好点。因为这个已经close,可以考虑另开一个feature request讨论? 目前我的做法是把这些line改名,增加特征性的表示颜色的名字,然后导出,用python代码解析,进行批量处理修改,再导入回来。这个不是很合理
嗨,@rainydew 感谢进一步讨论。我们本身对提供这个功能没有技术上的障碍,但希望保持地图的整体美观性。我们担心如果完全放开河流颜色功能,部分用户可能会滥用这一功能,导致地图美学上的不协调。还记得基本线段没有限制时的群魔乱舞吗?如果放开了颜色,那么随着其宽度可被调整并可以设置为简单路径,河流样式很可能就是下一个被加入订阅的功能 :(
如果您有更好的解决方法,欢迎继续跟帖讨论 :)
嗨,@rainydew 感谢进一步讨论。我们本身对提供这个功能没有技术上的障碍,但希望保持地图的整体美观性。我们担心如果完全放开河流颜色功能,部分用户可能会滥用这一功能,导致地图美学上的不协调。还记得基本线段没有限制时的群魔乱舞吗?如果放开了颜色,那么随着其宽度可被调整并可以设置为简单路径,河流样式很可能就是下一个被加入订阅的功能 :(
如果您有更好的解决方法,欢迎继续跟帖讨论 :)
@thekingofcity 如果是要地图的整体协调性,可以考虑把指定河流颜色的功能提供,但是修改河流颜色(或者一些其他的属性)单独作为PRO功能?
毕竟专业制图其实需要这些功能,大师节点目前在低配的浏览器下有卡顿的性能问题,总是用python对导出来的json修修改改不是太好,而且如果改出小问题,被导入解析的时候,可能会出些奇怪的问题,会更难定位,所以更推荐从界面上操作
以上脚本修改json带来的问题,我自己就有教训: 在虚拟节点出现之前,我使用上海2020格式的车站(因为站点是纯色),并把车站的名字留空,这样就可以被纯色线路的颜色掩盖,从而制作特定快线、绕行线等需要导向的地铁线路,等于是当虚拟节点使用。
没多久以后,虚拟节点出来,我需要对旧线路进行处理,把2020格式的这种车站改回虚拟节点,于是导出后使用下面的方法做处理
import json
with open("final.json", "r", encoding="utf-8") as f:
content = f.read()
shm_2020 = "shmetro-basic-2020"
virt = "virtual"
j = json.loads(content)
nodes: list = j["graph"]["nodes"]
exchange_map = {}
for node in nodes:
node_type: str = node["attributes"]["type"]
if node_type == shm_2020:
source: str = node["key"]
target: str = "misc_node_" + source.lstrip("stn_")
node["key"] = target
exchange_map[source] = target
node["attributes"]["type"] = virt
del node["attributes"][shm_2020]
node["attributes"][virt] = {}
edges: list = j["graph"]["edges"]
for edge in edges:
if edge["source"] in exchange_map:
edge["source"] = exchange_map[edge["source"]]
if edge["target"] in exchange_map:
edge["target"] = exchange_map[edge["target"]]
with open("final.json", "w", encoding="utf-8") as f:
f.write(json.dumps(j, ensure_ascii=False))
但在一开始,我的修改就出了问题,原因是因为缺少 target: str = "misc_node_" + source.lstrip("stn_") ,我之前没有意识到页面会使用节点名称的前缀(stn_和misc_node_)来进一步区分类型(而不是通过解析type),导致我重新导入以后虽然不报错,但虚拟节点显示为问号,后来还是调试才发现
所以,在界面做这类更改是比较安全和推荐的
@rainydew 还有个问题,如果可以随便修改颜色,那么它也不应该被称为河流样式。我觉得就算开新议题讨论,可能也是讨论通用线段样式这样的主题,当然大概率这个需要做一些限制以防止其被滥用。
我觉得当前您的解析json方式也不失为一种可行的解决方案,如果有什么代码上具体的问题欢迎与我讨论,不然我将会把之后的回复都标为离题并折叠 :)
@rainydew 还有个问题,如果可以随便修改颜色,那么它也不应该被称为河流样式。我觉得就算开新议题讨论,可能也是讨论通用线段样式这样的主题,当然大概率这个需要做一些限制以防止其被滥用。
我觉得当前您的解析json方式也不失为一种可行的解决方案,如果有什么代码上具体的问题欢迎与我讨论,不然我将会把之后的回复都标为离题并折叠 :)
ok 我想了下,既然有可以自定义的master node并且作为PRO功能开放。那么我会另开issue讨论下,提供自定义线型(包括颜色,粗细和样式比如点线)的master line和自定义区域(围住多个虚拟节点的封面,注意这一点和node不同,湖泊说实话做成节点并不好,因为它的边缘不能和其他的line对齐)的feature可能性。这样点、线、面都能做到定制化,可以很灵活。 河流这种类型就保持现状和当前含义好了
因为这些功能太自由,可以都作成订阅,应该能够在需要的情况下解决很多这种问题。比如我有时候使用你们的工具不只是做轨道线路图,还用于做地铁站的配线图以及车站的平面结构和旅游地图
目前还在想一些细节,后面估计会整合一个提案