Rainy Chan

Results 24 comments of Rainy Chan

既然举了db的例子,这么做有个非常大的问题是**违背了单例模式**。比如想生成多个db但底层是一个实例就相当难做(因为每个泛型结构会被当成一个新的实例)。或者也可以投机取巧,在实例的工厂方法里增加一个成员,这个成员是指向底层操作数据库的单例对象的指针。为了保护单例,可以把这个对象做成一个私有接口(含private()空方法就行),别人在包外无法实现。但这样复杂度就相当高了

是不是理解为,湖泊 = 任意底色的封闭多边形工具,可能支持圆角这样

我看河流在json定义中是已经有颜色的 ``` "river": { "color": [ "shanghai", "river", "#B9E3F9", "#fff" ], "width": 20 }, ``` @thekingofcity 大佬考虑开放出来不? 我改了这个文件,#B9E3F9改成#00FF01,再重新导入,就得到了我想要的效果, @Hutk2023 也可以试试看 ![Image](https://github.com/user-attachments/assets/7cd875be-e8d1-4bb3-ae2b-0c23a51ea89b)

> 我看河流在json定义中是已经有颜色的 > > ``` > "river": { > "color": [ > "shanghai", > "river", > "#B9E3F9", > "#fff" > ], > "width": 20 > }, > ``` > >...

> 我看河流在json定义中是已经有颜色的 > > ``` > "river": { > "color": [ > "shanghai", > "river", > "#B9E3F9", > "#fff" > ], > "width": 20 > }, > ``` > >...

> 此功能请参考大师节点,See also [#580](https://github.com/railmapgen/rmp/issues/580) > > [@rainydew](https://github.com/rainydew) 嗨,我们认为此议题讨论的是封闭图形的上色功能,为此,我们特意在5.0版本中新增了大师节点功能,方便用户自行设计并定义任何形状的图形并导入。当然,就如同您所注意到的,河流的确存储了颜色数据,没有开放此能力是考虑到纯色样式也能基本满足此变化,感谢您的理解 :) 感谢解释 纯色小的问题是 深度默认不是最深(会掩盖其他地铁线路),以及会干扰导出到RMG的功能(会被当成线路)。比较大的问题是,不能指定宽度 @thekingofcity 我看了一下,single color的json里,属性没有指定width,考虑兼容性,推荐放开river的颜色好点。因为这个已经close,可以考虑另开一个feature request讨论? 目前我的做法是把这些line改名,增加特征性的表示颜色的名字,然后导出,用python代码解析,进行批量处理修改,再导入回来。这个不是很合理

> 嗨,[@rainydew](https://github.com/rainydew) 感谢进一步讨论。我们本身对提供这个功能没有技术上的障碍,但希望保持地图的整体美观性。我们担心如果完全放开河流颜色功能,部分用户可能会滥用这一功能,导致地图美学上的不协调。还记得基本线段没有限制时的群魔乱舞吗?如果放开了颜色,那么随着其宽度可被调整并可以设置为简单路径,河流样式很可能就是下一个被加入订阅的功能 :( > > 如果您有更好的解决方法,欢迎继续跟帖讨论 :) @thekingofcity 如果是要地图的整体协调性,可以考虑把指定河流颜色的功能提供,但是修改河流颜色(或者一些其他的属性)单独作为PRO功能? 毕竟专业制图其实需要这些功能,大师节点目前在低配的浏览器下有卡顿的性能问题,总是用python对导出来的json修修改改不是太好,而且如果改出小问题,被导入解析的时候,可能会出些奇怪的问题,会更难定位,所以更推荐从界面上操作 以上脚本修改json带来的问题,我自己就有教训: 在虚拟节点出现之前,我使用上海2020格式的车站(因为站点是纯色),并把车站的名字留空,这样就可以被纯色线路的颜色掩盖,从而制作特定快线、绕行线等需要导向的地铁线路,等于是当虚拟节点使用。 没多久以后,虚拟节点出来,我需要对旧线路进行处理,把2020格式的这种车站改回虚拟节点,于是导出后使用下面的方法做处理 ```python3 import json with open("final.json", "r", encoding="utf-8") as f: content = f.read() shm_2020 = "shmetro-basic-2020" virt...

> [@rainydew](https://github.com/rainydew) 还有个问题,如果可以随便修改颜色,那么它也不应该被称为河流样式。我觉得就算开新议题讨论,可能也是讨论通用线段样式这样的主题,当然大概率这个需要做一些限制以防止其被滥用。 > > 我觉得当前您的解析json方式也不失为一种可行的解决方案,如果有什么代码上具体的问题欢迎与我讨论,不然我将会把之后的回复都标为离题并折叠 :) ok 我想了下,既然有可以自定义的master node并且作为PRO功能开放。那么我会另开issue讨论下,提供自定义线型(包括颜色,粗细和样式比如点线)的master line和自定义区域(围住多个虚拟节点的封面,注意这一点和node不同,湖泊说实话做成节点并不好,因为它的边缘不能和其他的line对齐)的feature可能性。这样点、线、面都能做到定制化,可以很灵活。 河流这种类型就保持现状和当前含义好了 因为这些功能太自由,可以都作成订阅,应该能够在需要的情况下解决很多这种问题。比如我有时候使用你们的工具不只是做轨道线路图,还用于做地铁站的配线图以及车站的平面结构和旅游地图 目前还在想一些细节,后面估计会整合一个提案

该文件的制作周期比较长,跨了好几个rmp的版本,所以不知道是否兼容问题,但确实很难定位

> > > 所以不知道是否兼容问题 > > > > > > 这已经不是兼容问题了。。。你这导出的SVG文件代码都是错的😂 > > “M NaN,NaN L NaN,NaN”已经不是SVG的路径格式了 > > 这不是合法的格式,但rmp确实可能生成这样的数据。之前在开发时有注意到,但由于上海模板内容太多,排查起来需要很多时间以及此问题没有造成严重问题而搁置了。 > > 不过如果浏览器能展示的话,同样的svg也能在这个浏览器中展示才对。 比较奇怪的地方就在这里,导入的时候完全可以正确展示并且可以编辑 导出PNG是好的,svg就挂 你可以尝试复现一下,看你能否导入并且正确展示图像;但是导出的时候就遇到问题 我这个文件累加了151个版本(一点一点的画线的),我也保存了每个版本,我知道哪两个版本之间的变更引入了这个错误(前一个版本可以打开,后面就无法打开) 我可以在下周把带来差异的两个版本的json上传上来