Archive for the Category: big data

datamaps 在windows环境下使用

由于自己的mac只有4g内存,跑datamaps的时候遇到大数据基本跑不动,幸好台式机是32g内存,装的win2008系统,于是尝试在windows上跑一下。 最初的想法是想直接把datamaps的源代码在vs2012 下面直接编译一下,结果一堆error,懒得去一个一个的fix,决定使用cygwin环境+gcc去编译。 1 首先下载cygwin,http://www.cygwin.com/  安装的时候一定要安装gcc-core,gcc,pk-config,make以及libpng-devel。 2 在https://github.com/barrycug/datamaps 下载datamaps 源代码,并解压,当然也可以用gitclone命令去下载 3 打开cygwin,并进入datamaps 目录,执行命令make,如图 4 make 成功之后就可以使用datamaps的命令来进行数据的处理了 5  ./encode -o ./gps -z 15 /cygdrive/d/data/simple-gps-points-120312.txt  会读取txt文件并生成索引,放到gps目录下面 6 生成一张地图 ./render -A ./gps 12 39.8 116.0 40.1 116.6 > beijing3.png  -A表示生成一张地图 ,39.8 116.0 40.1 116. 为北京的坐标范围 12 为显示级别 7 生成tile ,可以按照google style生成地图切片 enumerate -z14 ./gos| xargs -L1 -P8 ./render -o tiles/dirname […]

Also posted in Uncategorized Leave a comment

灯火图的制作

1 什么是灯火图? 灯火图是我起的名字,有点类似于晚上卫星拍到的地球夜景,根据灯光的亮度可以判断一个地区的经济发达程度。那么我们能不能用这种形式来表达其他的信息呢?比如LBS应用的签到信息?POI聚集?微博发帖位置? 2 灯火图的来源 最早见到灯火图是@王昊的微地图发的一组地图,包括后面@GeoQ发的收费站地图,后来挖掘了一下,发现最早是有Eric  fischer 基于Flickr地理标签做的图,链接在此: http://www.tweeterstreet.com/blog/tweeter-world/geo-tagged-twitter-flickr-map.html 3 那么这种效果的图是如何制作的呢,Eric  fischer  是个好同志,在github上分享了他的代码。https://github.com/ericfischer/datamaps 由于处理的数据可能非常大,Eric  fischer  的方法是给每个地理位置按照四叉树编码并排序,然后按照级别生成tile(google schema) datamaps 的使用方法在github上都有,就不具体介绍了。 tile生成好之后,我们就可以把这些文件通过tomcat或者Apache发布出去 tile 有了之后,可以使用mapbox的js API 开发一个简单的地图应用,叠加mapbox黑色风格的底图用来凸显灯光的效果。 简单的代码如下, <code> <html> <head> <meta charset=utf-8 /> <title>Theme</title> <meta name=’viewport’ content=’width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no’ /> <script src=’//api.tiles.mapbox.com/mapbox.js/v1.5.1/mapbox.js’></script> <link href=’//api.tiles.mapbox.com/mapbox.js/v1.5.1/mapbox.css’ rel=’stylesheet’ /> <style> body { margin:0; padding:0; } #map { position:absolute; top:0; […]

Leave a comment

使用Python 将shapefile导入mongodb

随着big data时代的到来,各个行业都在考虑能不能把big data的思路、方法引入进来,GIS行业也不能免俗。 下面就介绍一下如何将shapefile导入mongodb中 1首先安装pyshp 和pymongo 库 2 安装mongodb,并正确运行 3 执行下面的python脚本 import pymongo from pymongo.connection import Connection def readSHPPoint(append): fileP = u’E:\\data\\supermarket_webMercator\\supermarket.shp’ sf = shapefile.Reader(fileP) shapeRecs = sf.shapeRecords() mongodb_server=’192.168.120.100′ mongodb_port = 27017 mongodb_collection =’supermarket’ mongodb_db = ‘gisdb’ connection = Connection(mongodb_server, mongodb_port) print ‘Getting database %s’ % mongodb_db db = connection[mongodb_db] print ‘Getting the collection %s’ […]

Tagged Leave a comment