通过手动修改GeoJson文件,实现省级镂空Feature制作

一、先用QGIS绘制一个环形Feature并保存为GeoJson,看看环形Feature的数据结构是什么样

  • 先绘制一个多边形,右键保存

  • 在绘制好的多边形内添加环形(注意:这期间左下角一定要选中所编辑layer,否则会报错)
  • 如果没有这个组件,右键工具栏,勾选Advanced Digitizing Toolbar
  • 导出咱们刚刚画好的这个环形Feature为GeoJson

  • 打开刚刚保存的GeoJson文件,看看它的数据结构,发现环形Feature的里外两个环的坐标数组都放在coordinates内,且外环在前,内环在后:
{
    "type": "FeatureCollection", 
    "name": "test", 
    "crs": {
        "type": "name", 
        "properties": {
            "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
        }
    }, 
    "features": [
        {
            "type": "Feature", 
            "properties": {
                "id": 1
            }, 
            "geometry": {
                "type": "MultiPolygon", 
                "coordinates": [
                    [
                        [
                            [
                                98.62682583778792, 
                                54.32228639928258
                            ], 
                            [
                                109.40281163615893, 
                                55.957263554897494
                            ], 
                            [
                                116.64873312127047, 
                                55.02829926193448
                            ], 
                            [
                                117.35474598392236, 
                                52.94741924569732
                            ], 
                            [
                                114.64217024847035, 
                                51.832662094141696
                            ], 
                            [
                                112.7842416625443, 
                                50.68074637086755
                            ], 
                            [
                                103.71755016322525, 
                                50.792222086023116
                            ], 
                            [
                                98.62682583778792, 
                                54.32228639928258
                            ]
                        ], 
                        [
                            [
                                103.9976189834291, 
                                53.8974727328586
                            ], 
                            [
                                105.91267520881026, 
                                51.91148849913
                            ], 
                            [
                                107.99323012033545, 
                                54.18118476624841
                            ], 
                            [
                                103.9976189834291, 
                                53.8974727328586
                            ]
                        ]
                    ]
                ]
            }
        }
    ]
}

二、着手制作镂空的内蒙区域GeoJson

了解环形Feature的GeoJson结构之后,接下来我们可以把现有的内蒙古区域GeoJson改造一下,让它变成镂空的。

  • 用QGIS画个方框,一定要把内蒙整个包进去,然后获得这个方框的坐标数组,具体过程不作赘述
    • 我这获得的坐标数组:
[ [ 70.35465968686151, 73.302099634723305 ], [ 158.04277887424999, 73.181814148869549 ], [ 157.922493388396219, 11.234788934184962 ], [ 70.114088715153997, 12.317358306868769 ], [ 70.35465968686151, 73.302099634723305 ] ]

  • 修改内蒙的GeoJson文件,把上一步获得的坐标数组加到内蒙边界坐标数组前边
  • 加载一下修改好的GeoJson看看效果:

三、搞这有啥用?

  • 制图时多叠一层它实现白化

四、资源文件

内蒙GeoJson原文件

内蒙镂空GeoJson

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值