- 将 ok_geo.csv坐标边界 转成 ESRI Shapefile (.shp) 文件。
- 将 ok_geo.csv坐标边界 转成 GeoJSON (.json) 文件,支持按层级拆分成多级json文件。
- 将 ok_geo.csv坐标边界 转成 SQL (.sql) 文件,支持SQL Server、MySQL、PostgreSQL数据库格式。
- 将 ok_geo.csv坐标边界 导入 MySQL 5.0+、SQL Server 2008+、PostgreSQL 数据库。
- 将 ok_data_level*.csv省市区镇行政区划 转成 SQL 文件、导入 数据库;可同时将坐标、边界范围附加到同一表中。
- 支持限定导出数据级别,比如只导出全国所有市级数据,默认导出全部级别数据。
- 支持限定导出指定城市的数据,比如只导出湖北的所有城市,默认导出全国所有数据。
- 支持限定导出数据内容,比如可以只导出坐标或边界范围,默认两个都导出。
- 支持坐标系转换,ok_geo默认为GCJ-02火星坐标系,支持转换成:BD-09、WGS-84 GPS、CGCS2000。
- 自动校验坐标和边界矢量数据的有效性。
- 可执行自定义 JavaScript 脚本,可扩展出丰富功能。
- 转换精度高,速度快,内存占用小,3-5分钟左右可转换完所有数据。
- 配套提供坐标数据、边界数据查询工具:AreaCity-Query-Geometry开源库(Gitee镜像库),支持Java调用或HTTP API接口调用,内存占用低,1秒可查1万个以上坐标对应的城市信息。
- 支持Win10、Win8、Win7,32位、64位系统使用(其他系统装虚拟机可用)。
- 功能特点
- 软件、数据下载地址
- 安装教程
-
使用教程
- ok_geo.csv坐标边界 转成shp文件
- ok_geo.csv坐标边界 转成geojson文件
- ok_geo.csv坐标边界 转成sql文件(MS SQL、MySQL、PgSQL、Oracle、通用SQL、CSV文件)
- ok_geo.csv坐标边界 导入数据库(MS SQL、MySQL、PgSQL)
- 行政区划 ok_data_level*.csv省市区镇 转成sql文件
- 行政区划 ok_data_level*.csv省市区镇 导入数据库
- GeoJSON 按省市区将下级拆分到多个文件
- GeoJSON 多个文件合并成一个文件
- GeoJSON 文件简化(Simplify) 20MB变成200KB
- GeoJSON 转成 SVG 矢量图 或 PNG图片
- 文件格式批量互转(支持多种矢量格式文件 SHP、JSON、KML、KMZ、GML、GPKG 等互转)
- 用户自定义控制参数
- 完全离线使用(高级自定义脚本离线版网页)
- 升级付费
- FAQ
- 软件许可及服务协议
本工具软件用于将GitHub AreaCity-JsSpider-StatsGov 仓库内采集到的 ok_geo.csv 省市区三级坐标和边界范围csv文件(130M+) 转成其他格式,比如:shp、geojson、sql; 或者直接导入数据库:SQL Server、MySQL、PostgreSQL。 支持处理ok_geo4_*.csv乡镇第四级坐标边界数据(付费数据); 也提供将 ok_data_level*.csv 3级或4级 省市区镇 行政区划数据导入数据库功能。
按照上面下载地址下载软件包后,解压此7Zip压缩包(用常见压缩软件均能解压),双击 AreaCity-Geo-Transform.exe 运行。
如果你下载的已带GDAL组件的软件包,无需下载GDAL组件,请忽略本操作步骤。
如果你下载的是不带GDAL组件的软件包,工具软件在第一次运行时会提示到 GISInternals 下载GDAL组件,根据软件中提示的地址下载GDAL的压缩包,一定要下载32位的最新稳定版,你可以直接下载 release-1911-gdal-3-0-4-mapserver-7-4-3.zip 这个包。
下载完后,进行解压,记住解压的目录;然后返回工具软件,点击“选择GDAL解压bin目录”按钮,选择到你刚才解压的目录,进入到里面选择bin目录;然后点击“加载GDAL”按钮,即可完成GDAL组件的加载,然后就可以正常使用了。
支持Win10、Win8、Win7,32位、64位系统中运行,或者虚拟机中运行(需将软件和数据拷贝到虚拟机本地);苹果电脑等系统请参考下面的 Mac OS等非Windows系统上如何使用 FAQ。
如果你电脑上没有安装.NET Framework 4.5.x以上版本(4.6.x、4.7.x均可),本工具软件将无法运行,请到微软官网下载 .NET Framework 4.7.2 Runtime ,安装完后再打开本工具软件。
如果你电脑上没有安装32位版Visual C++ 2015-2019运行时,GDAL组件将无法运行,请到微软官网下载 vc_redist.x86.exe ,安装完后再打开本工具软件。
点击上方的“通用-选择文件”按钮选择 ok_data_level3.csv 或 ok_data_level4.csv 文件;如果你还没有准备此文件,请到GitHub Releases 页面中下载然后解压,参考上面的数据下载。
本拆分功能用于将一个大的 geojson 文件,根据pid、ext_path字段自动拆分成单独的小文件,子级数据默认会放在父级id命名的文件夹内。
全部数据将会拆分出:一个仅包含所有省份的文件;每个省份各一个文件,内容为此省份所有的市;每个市各一个文件,内容为此市所有的区县;每个区县各一个文件,内容为此区县所有的乡镇;[可选]每个省市区单独一个文件,内容为对应的一条边界数据;[可选]每个乡镇单独一个文件,内容为此乡镇一条边界数据;[可选]只拆分到省级或市级,此级的内容会包含所有的子级数据。
本合并功能用于将多个小的geojson 文件合并成一个大的,比如将多个城市零散的小geojson文件合并成一个大的文件。
借助专业的开源在线工具MapShaper,可以将边界的GeoJSON文件简化成很小(会保持拓扑结构),但代价是损失原有的精细度,变成粗略版的边界;下面的步骤将演示把20MB大小的全国所有省的GeoJSON文件简化成200KB大小。
在线预览页面中的ECharts支持渲染显示GeoJSON文件,然后导出成 PNG/SVG 图片。
用户自定义控制参数用来改变软件的某些运行行为,可通过修改storage.json(需重启软件)、高级自定义脚本中的AppCmds.setConfig(key,value)(大部分设置立即生效)两个手段来定义参数,可用参数参考以下列表。
- User_WebviewSettingsUrl:更换“高级自定义脚本”启动时打开的页面地址,需重启软件生效,默认地址为github.io|gitee.io地址,如果你的网络访问github|gitee缓慢,可以切换到其他可用源(如:github clone后的本地文件路径:file:///你路径/assets/AGT/WebviewSettings.html),或直接参考下面“完全离线使用”。
- User_SQL_File_Charset:导出SQL文件时的文件编码,默认为空会根据不同数据库类型使用不同文件编码。
- User_SQL_Geom_SRID:导出SQL文件、导入数据库时geo、polygon字段Geometry的SRID,默认为0,取值为正整数,不同取值数据库不一定默认支持,比如:4326(WGS84)、4490(CGCS2000)。
- User_Spatial_GeogCS_WKT:设置shp、geojson文件内的坐标系信息wkt格式,默认值为WGS84坐标系:GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433],AUTHORITY["EPSG",4326]],比如你要shp文件内的坐标系为CGCS2000,可以设置为此值:GEOGCS["GCS_China_Geodetic_Coordinate_System_2000",DATUM["D_China_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433],AUTHORITY["EPSG",4490]]; 更多坐标系的wkt值可自行搜索,或用ArcMap中的 Layers右键属性 -> Coordinate System点开后查看列表,找到需要的坐标系然后右键另存为即可得到wkt文本,或用SQL Server查询select * from sys.spatial_reference_systems的well_known_text字段;注意:修改此值并不会转换ok_geo.csv的GCJ-02坐标到指定的坐标系,需要自行通过高级自定义脚本转换坐标的坐标系。
免费版 | 短期激活密钥[1] | 单机许可激活密钥 | 批量许可激活密钥 | ||
---|---|---|---|---|---|
许可有效期 | 无限试用 | 2小时 | 3天 | 不限 | 不限 |
密钥有效期 | - | 2小时 | 3天 | 每30天自助续期[2] | 每30天人工续期[3] |
可激活计算机数量 | 免激活 | 1 | 1 | 1 | 不限 |
服务支持 |
功能限制:
每次可导出全国所有省级、或一个城市和它的下一级数据;
软件中标注的免费版有限制的功能。
|
解除所有限制
消息优先处理
不支持软件升级
不支持数据更新
0次技术指导机会
升级成单机许可只需补差价
|
解除所有限制
消息优先处理
支持软件升级
支持数据更新
1次技术指导机会[4]
|
解除所有限制
|
|
价格 | 免费 |
¥10
荐
|
¥29 | ¥298 | 不售 |
如何购买 |
请先加客服QQ 1251654593,联系客服后付款,提供需要激活的ID信息(打开软件底下有显示ID),然后客服给你签发激活密钥。请勿通过其他途径购买,以免造成损失。
温馨提示:此激活密钥是用来处理省市区三级的数据,不能用来处理乡镇级的付费数据,如果您需要乡镇级数据,请到此文档购买乡镇级的数据密钥(会赠送工具激活密钥)。
|
因为本工具软件的开发采用了 ILProtector 应用程序保护器,ILProtector旨在保护.NET应用程序的知识产权,因为我开发过程中采用的对方的30天评估许可证,因此他们会弹个框弹出来;这只是一个小问题,并不影响软件本身的功能和品质;如果你很反感这个,点击确定即可解决烦恼。
因为数据源ok_geo.csv内的数据为高德地图的坐标数据,坐标系为GCJ-02火星坐标系,显示到Google地图、百度地图内有肉眼可见的偏移(几百米);在不同坐标系下不能直接显示,需要先转坐标系,可通过高级自定义脚本转换坐标系修正。
已知:MySQL低版本中任何不带ST_打头的空间计算函数都是不精确的(不符合心里预期 MySQL Doc) ,至少包括:Intersects、Contains、Within、Disjoint、Equals...(包括MBR打头的同名方法) ;比如Intersects函数,表现为Polygon的最大外接矩形有包含就会作为匹配结果,这样就会无端多出很多不在边界内结果 ,所以应当使用ST_Intersects来计算空间位置(5.6+开始支持),5.5及以下版本无解(只能升级?),ST_打头的都是精确计算,结果符合预期 MySQL Doc。
另外:当前Geometry采用SRID=0,不建议指定SRID,因为MySQL8.0+指定了SRID后坐标的经纬度顺序将完全不可控,比如SRID=4326(WGS84)会变成纬度在前经度在后,必须额外添加 options='axis-order=long-lat' 参数纠正: ST_GeomFromText('POINT(114.044346 22.691963)',4326,'axis-order=long-lat') (包括ST_AsText也一样要加),难于理解和使用;
MySQL自带的空间索引限制太多 官方文档,必须非NULL字段、字段和数据必须显式的提供SRID(引入更多问题),目前测试结果并不理想,查询速度反而比不加索引还要慢;
鉴于MySQL的空间索引很难生效,从而导致空间查询异常缓慢,可通过增加一个geometry类型的字段 polygon_envelope 来自建索引: update xxx set polygon_envelope=ST_Envelope(polygon),查询的时候先查 polygon_envelope ,然后再查 polygon 字段,速度就会快很多(10倍+) : select id,ext_path from xxx where ST_Intersects(polygon_envelope,ST_GeomFromText('POINT(114.044346 22.691963)',0))=1 and ST_Intersects(polygon,ST_GeomFromText('POINT(114.044346 22.691963)',0))=1;也可同时切换成MyISAM引擎,会比InnoDB引擎的空间查询快很多。
使用配套提供的坐标数据、边界数据查询工具:AreaCity-Query-Geometry开源库(Gitee镜像库),支持Java调用或HTTP API接口调用,内存占用低,1秒可查1万个以上坐标对应的城市信息。
使用方法:先使用转换工具将 ok_geo.csv 转换成 geojson格式;然后打开查询工具并使用此geojson文件进行初始化,然后根据菜单启动HTTP API服务,就能调用API进行查询了;或者直接编写Java代码,代码中使用此geojson文件进行初始化,然后调用对应的查询方法进行查询。
本软件只支持在Windows系统上使用,非Windows系统请在别的Windows电脑上使用,包括虚拟机都可以。
比如苹果电脑Mac OS上可以安装 Oracle VM VirtualBox 虚拟机,注意:请将软件和数据全部拷贝到虚拟机内本地磁盘中,在虚拟机内转换导出数据,然后在将结果拷贝到物理机,不要用远程(尤其是SMB共享),否则软件将无法正常读写文件。
以前有不少人咨询过我是否提供别的格式数据,我只能回答需要自己找工具写代码转换;但有的新手开发者底子薄,要完成这个平凡的任务却甚是艰难,可能花费好多天都出不了成果。
从第一版数据采集的源码中我就提供了将坐标和边界范围导入到SQL Server的sql代码,现在我就试着将这些功能封装成工具,想着要加入更多常见的格式,就把shp和geojson这两个常见的格式提供了支持,就有了本工具。
数据和时间都能产生价值,GitHub库里面csv格式数据是开放的,但作者也要恰饭的嘛,最值钱但又不值钱的时间才是应该被付费的;本工具是生产力,助你快速产出成果,蝴蝶效应下升职加薪、迎娶白富美、走上人生巅峰不算是梦话;但作者还是要恰饭的嘛,所以你需要付费购买激活密钥才能使用到所有功能。
就算不付费,免费版的功能也足够强大了,多点几次也能达到和付费版相同的效果。
我相信关注本库且动手能力强的你,虽然转换一下格式并不是难事,但本工具能帮你节省大量的时间,欢迎体验。
您(以下称“用户”)下载、使用我(以下称“作者”)提供的本工具软件,应当阅读并遵守本许可协议。请用户务必审慎阅读、充分理解各条款内容,特别是免除或者限制责任的条款,并选择接受或不接受。除非用户已阅读并接受本协议所有条款,否则用户无权下载、安装或使用本软件及相关服务,用户的下载、安装、使用等行为即视为用户已阅读并同意本许可协议的约束。
1. 用户应当直接从作者许可的途径,如GitHub AreaCity-JsSpider-StatsGov仓库、此仓库文档中包含的地址中、此仓库QQ群中等途径中获取本工具软件包;其他途径获取到的软件包是未经过作者授权的,存在安全隐患,可能会导致你的系统、资产受到侵害,作者对因此给用户造成的损失不予负责。
2. 作者将积极并采取措施保护用户的信息和隐私;软件本身不会读取和写入未经用户选择的目录,软件也不会在未经用户许可的情况下对外发送数据;用户在软件中输入的数据和信息,只会存储在用户计算机本地磁盘上。
3. 除法律法规有明确规定外,作者将尽最大努力确保本软件及其所涉及的技术及信息安全、有效、准确、可靠,但受限于现有技术,用户理解作者不能对此进行担保。
4. 用户理解,对于不可抗力及第三方原因导致的您的直接或间接损失,作者无法承担责任。
5. 用户因使用本软件进行处理、转换数据,和存储、转发、使用得到新数据,由此引起或与有关的包括但不限于利润损失、资料损失、业务中断的损害赔偿或其它商业损害赔偿或损失,需由用户自行承担。
6. 如若发生赔偿、退款等行为,赔偿、退款等累计金额不得超过用户实际支付给作者的总金额。
7. 用户不得使用本软件从事违反法律法规政策、破坏公序良俗、损害公共利益的行为。
8. 用户不得对本软件及其中的相关信息擅自出租、出借、销售、逆向工程、破解,不得在未取得作者授权的情况下借助本软件发展与本软件有关联的衍生软件产品、服务、插件、外挂等。
9. 用户不得利用本软件处理、传送、传播、储存侵害他人知识产权、商业秘密权等合法权利的内容,或从事欺诈、资金等违法犯罪活动。