Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

提个个人建议 - 直筒子市等缺少第三级区级优先把下级提上来做区级,比较人性化点 #9

Open
jlzq1314 opened this issue Feb 16, 2020 · 3 comments
Labels
good first issue Good for newcomers

Comments

@jlzq1314
Copy link

您好,不设区的直筒子市没有第三级区级,能否继续优先获取下级村委信息,如果没有。再自动添加同名的一级作为区级。例如:广东-中山-石岐区-桂园社区,这样比较人性化点,谢谢大佬的贡献!

@xiangyuecn
Copy link
Owner

这种结构涉及到的城市有:直筒子市(东莞、儋州等共5个)、省直辖县级市(济源、潜江等约30个)、港澳,本段内容以中山、武汉两个城市为例:

格式 乡镇街道 村委会、居委会
原始
广东 中山 - 石岐街道 仙湖社区居民委员会
湖北 武汉 武昌区 黄鹤楼街道 花堤社区居委会
往上提一级
广东 中山 石岐街道 仙湖社区居民委员会 -
湖北 武汉 武昌区 黄鹤楼街道 花堤社区居委会
填充同名一级
广东 中山 中山 石岐街道 仙湖社区居民委员会
湖北 武汉 武昌区 黄鹤楼街道 花堤社区居委会

其实我13年采集版本就是你这样做的(把下级往上提一级),但后面为啥会废弃,用添加同名一级作为新的采集方案,原因如下:

  1. 往上提一级后,石岐街道武昌区就在路径深度上算是平级了,但他们明显不在一个量级😂,虽然可以通过级别等字段来标注这是第4级,但实际操作可能不太方便,实际使用需要额外写大量代码(不是几行代码能解决的)来处理这种跨级问题,因为这种数据是在并不多 ≈40/3000。

  2. 如果我们只需要省市区三级数据,如果下一级往上提了一级后,石岐街道是第四级,这种数据其实是矛盾的,我要三级咋跑来第四级的数据。


然后我们看填充同名一级的方案,以上问题就统统解决了,而且实际使用的代码量会更少,因为不需要大量额外的代码处理跨级问题;并且整个数据都非常整齐,全部是标准的4级结构。

然后新方案就剩下一个相对比较致命的问题了,不过解决方法也非常简单,就是路径的显示:

  1. 原始的数据:广东 - 中山 - 石岐街道 - 仙湖社区居民委员会
  2. 往上提一级:广东 - 中山 - 石岐街道 - 仙湖社区居民委员会
  3. 填充的一级:广东 - 中山 - 中山 - 石岐街道 - 仙湖社区居民委员会

前两种没有问题,第三种多了一个中山,这种数据我们可以通过城市的id规则来过滤掉这个多出来的,参考id字段详细资料,填充的id是上级id结尾补0生成的id,中山(4420)-中山(4420 00),很容易鉴别出4420 00为填充数据,然后显示的时候剔除掉,代码量不会太大。

@xiangyuecn xiangyuecn added the good first issue Good for newcomers label Mar 6, 2020
@xiangyuecn xiangyuecn changed the title 提个个人建议 提个个人建议 - 直筒子市等缺少第三级区级优先把下级提上来做区级,比较人性化点 Mar 6, 2020
xiangyuecn added a commit that referenced this issue Mar 6, 2020
@jlzq1314
Copy link
Author

“这种数据我们可以通过城市的id规则来过滤掉这个多出来的,”
这解决方案可以,但考虑到人性化体验的问题,应该是在select选择框在第三级别的时候就应该进行处理,是吗?

@xiangyuecn
Copy link
Owner

都可以,要人性化选择就需要多写些代码,要简单就可以不用去处理这些问题,毕竟这种城市少之又少

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants