1、用Mathematica处理GIS数据

Mathematica软件是不提供每个国家内部的行政区GIS(地理信息统计)数据的,为了试验一下Mathematica导入GIS数据的功能,我在Global Administrative Areas下载了几份我国的行政区地理信息数据。唉,我国的GIS数据竟然需要到国外去下载,而且国外默认台湾是独立的国家。这样就需要下载两份数据,CHN_adm1.kmz和TWN_adm0.kmz,然后再将之合并。

测试后发现Mathematica对kmz数据支持的并不太好(也许是我功力不够吧,在R软件中测试“.RData”类型的GIS数据,发现其能被很好的解读),比如,直接导入CHN_adm1.kmz时,会丢失4个直辖市的数据。期待下一版本会改进此问题。费了好半天劲儿,终于搞定了这些问题(找到一笨法:用Google Earth打开KMZ文件,抉择需要的省份或直辖市导出,再用Mma整合一下即可),在这儿将我整理并压缩后的数据与大家分享一下,数据为txt文本文档,方便查看与导入。

说明:原版34.4MB,压缩版5.48MB,精简版1.59MB(压缩为rar后仅146KB),这里分享的是精简版,本例用的也是精简版数据。

点此下载>>  解压密码:xianyungu.com

数据是2行32列的,具体数据格式如下:
{“安徽”, “北京”, ……}
{Polygon[],Polygon[],……}

其中Polygon[]的数据格式如下:

{{x1,y1},{x2,y2},……}
或者
{{{x11,y11},{x12,y12},……},{{x21,y21},{x22,y22},……}}

由于同一个省可能会有多个区域或岛屿,比如浙江、福建、台湾等,所以Polygon[]中的数据格式有两种。

2、预览及动态演示

2.1、预览

中国各地区城市人口密度及建筑业总产值分布衅

2.2、动态演示(无需CDF Player)

★ 请点此打开新的页面查看>>

本次提供的动态演示并不需要CDF Player,可以直接查看。这正是Mathematica的强大之处!

说明:由于<area>标签是用矩形区域逼近各省形状,所以并不太精确。点此查看一个精确的例子(4M,需要CDF播放器)。