创建GeoJSON文件

关键词:geojson, appstoreconnect

创建GeoJSON文件的方法

方法一:使用Xcode创建

打开Xcode -> File -> New -> File…

在窗口输入geojson进行搜索:

生成的文件默认名称为Directions.geojson,内容如下:

{
    "type": "MultiPolygon",
    "coordinates": [
        
    ]
}

方法二:通过文本创建

手动创建一个文本文档,将文件名后缀改为.geojson即可。

关于GeoJSON文件的数据结构

App Store Connect 能够识别的GeoJSON结构必须满足以下条件:

  • 有且仅有一个type ,且内容必须为MultiPolygon
  • 有且仅能有一个coordinates

讲得通俗点,就是数据结构必须与Xcode创建出来的GeoJSON文件保持完全一致。

coordinates 为一组区域的集合,可包含一个或多个区域;每个区域包含若干个坐标点,各坐标点按顺序连线围成一个区域。

GeoJSON文件内使用的坐标为WGS84坐标系,即GPS坐标系。经纬度为浮点型,小数位数无明确限制。

{
    "type": "MultiPolygon",
    "coordinates": [
        // 这是一个区域,由里面的N个点围成。
        [[
            [经度, 纬度], [经度, 纬度], [经度, 纬度]...
        ]],
        // 这是另一个区域
        [[
            [经度, 纬度], [经度, 纬度], [经度, 纬度]...
        ]]
        // 更多的区域...
    ]
}

获取坐标的方式

方式一

使用自有的地理坐标数据(普通用户不适用)。

方式二

使用第三方坐标拾取系统,逐个采集坐标点。如使用百度拾取坐标系统采集坐标点后再转成GPS坐标使用。

方式三

从一些使用了GeoJSON文件的开源项目中提取,提取出坐标数据,按照上一步提到的规则重新组装,验证坐标数据的真实性后再使用。多数开源项目中的GeoJSON文件虽然满足GeoJSON的规范,但不满足 App Store Connect 的要求,一般不可以直接使用。

方式四

使用geojson.io手动标注区域,并导出对应的坐标。geojson.io生成的GeoJSON文件,同样不满足 App Store Connect 的要求,需要自己手动调整数据结构再使用。

geojson.io的使用

区域标注

选中框选工具。

在地图上选点标注。

再次点击工具,结束标注。

生成坐标

导入GeoJSON文件

将坐标写入GeoJSON文件中相应的位置,即可得到一个满足 App Store Connect 要求的GeoJSON文件。

{
    "type": "MultiPolygon",
    "coordinates": [
        [[
            [
              24.89415835008171,
              21.163374756252054
            ],
            [
              6.467360525634433,
              -10.367974874418294
            ],
            [
              47.54393659938543,
              -5.5262170910837085
            ],
            [
              24.89415835008171,
              21.163374756252054
            ]
        ]]
    ]
}

文件验证

通过上述方式三取得的GeoJSON文件同样可以使用geojson.io验证数据的真实性。

点击Open,打开本地GeoJSON文件;或直接将GeoJSON文件内的文本粘贴在右侧窗口中。