mysql 空间数据库使用
来源:互联网 发布:蓝月传奇龙魂升阶数据 编辑:程序博客网 时间:2024/05/29 17:30
对本次获取poi和poly边界信息,又学到很多以前没用接触过的知识。
1、首先从网站上下载原始数据,代码虽然写的不是很好,至少能运行起来,而且很快就把500M的原始数据下载了下来。具体代码见Download.py
2、第一批爬去的是欧洲POI信息,这个都存放在xml里面,内容虽然多,但格式规范,两个正则就搞定了。第一次运行程序,半个小时就爬完了,得到了700w+的数据。
由于好多poi类型对应的name都是空,不能为我们所用。故重新优化代码,把name为空的都pass掉了,最后仍然得到了231w的数据。虽然数量上比第一次减少了很多,但也足够小兰
喝一壶了。
3、第二批是爬去POLY边界信息,都是一堆一堆的LL。这是需要存储到mysql的空间数据库里面,呵呵。。。什么是空间数据库啊,不知道啊。。。。
原来是mysql数据库的一个扩展,http://dev.mysql.com/doc/refman/5.1/zh/spatial-extensions-in-mysql.html#gis-class-polygon 这是mysql5.1中文官方教程,多学学吧。
最主要的是Polygon和multipolygan两者为多边形类。GeoFromText('polygon((1 1,1 2,2 2,2 1,1 1))')把text格式多边形转换为数据库里面的几何多边形,从而存入数据库。
或者使用PolygonFromText()/MultiPolyFromText()。具体格式看教程吧。
这里我存入数据库的格式为MultiPolygon(),一行数据里面可以存入多个多边形,可以适用于岛或区域比较零散的边界。
数据存好之后,就剩测试数据正确性了。第一次使用的数据库版本为mysql5.1.3的数据库,查询使用的是最小边界矩形MBR来测试,但是测试结果总有偏差,在青海拿一个LL都跑到
甘肃和新疆去了。甚至跑到美国了。。。。。。
经过大师指导,更新数据库版本到5.6.1以上,可以使用ST_代替MBR。因为ST_使用的是图形形状来存储和查询的,效果比MBR更好。从官网下载新版本数据库,装上去测试,结果就
是精确,没用在出现过其他地方偏差。
我在win7上装的是源码编译版的,需要自己编译,而不是直接exe的那种。把程序解压出来后,进入bin里面直接运行mysqld.exe,可以自己运行(其他文件最好不要动),然后运行
mysql.exe,就能打开cmd下的mysql了。这样后台总会有一个mysqld.ext的进程,如果kill掉,mysql也就挂了,还得重新运行mysqld.exe。
1、首先从网站上下载原始数据,代码虽然写的不是很好,至少能运行起来,而且很快就把500M的原始数据下载了下来。具体代码见Download.py
2、第一批爬去的是欧洲POI信息,这个都存放在xml里面,内容虽然多,但格式规范,两个正则就搞定了。第一次运行程序,半个小时就爬完了,得到了700w+的数据。
由于好多poi类型对应的name都是空,不能为我们所用。故重新优化代码,把name为空的都pass掉了,最后仍然得到了231w的数据。虽然数量上比第一次减少了很多,但也足够小兰
喝一壶了。
3、第二批是爬去POLY边界信息,都是一堆一堆的LL。这是需要存储到mysql的空间数据库里面,呵呵。。。什么是空间数据库啊,不知道啊。。。。
原来是mysql数据库的一个扩展,http://dev.mysql.com/doc/refman/5.1/zh/spatial-extensions-in-mysql.html#gis-class-polygon 这是mysql5.1中文官方教程,多学学吧。
最主要的是Polygon和multipolygan两者为多边形类。GeoFromText('polygon((1 1,1 2,2 2,2 1,1 1))')把text格式多边形转换为数据库里面的几何多边形,从而存入数据库。
或者使用PolygonFromText()/MultiPolyFromText()。具体格式看教程吧。
这里我存入数据库的格式为MultiPolygon(),一行数据里面可以存入多个多边形,可以适用于岛或区域比较零散的边界。
数据存好之后,就剩测试数据正确性了。第一次使用的数据库版本为mysql5.1.3的数据库,查询使用的是最小边界矩形MBR来测试,但是测试结果总有偏差,在青海拿一个LL都跑到
甘肃和新疆去了。甚至跑到美国了。。。。。。
经过大师指导,更新数据库版本到5.6.1以上,可以使用ST_代替MBR。因为ST_使用的是图形形状来存储和查询的,效果比MBR更好。从官网下载新版本数据库,装上去测试,结果就
是精确,没用在出现过其他地方偏差。
我在win7上装的是源码编译版的,需要自己编译,而不是直接exe的那种。把程序解压出来后,进入bin里面直接运行mysqld.exe,可以自己运行(其他文件最好不要动),然后运行
mysql.exe,就能打开cmd下的mysql了。这样后台总会有一个mysqld.ext的进程,如果kill掉,mysql也就挂了,还得重新运行mysqld.exe。
- mysql 空间数据库使用
- 使用MySql数据库创建表空间,日志
- 查看mysql数据库空间使用情况
- MySql GIS 空间数据库使用体验
- MySQL作为空间数据库
- mysql空间数据库
- MySQL空间数据库学习
- 查看mysql数据库空间大小
- 【Mysql】Mysql数据库查询“表空间”
- Mysql对空间数据库的支持及使用Hibernate Spatial对空间数据的持久化操作
- 查询数据库空间使用状况
- oracle空间数据库函数使用
- AspSpider空间的数据库使用
- 检查数据库空间使用情况
- sqlserver数据库使用空间监控
- sqlserver数据库使用空间监控
- sqlserver数据库使用空间监控
- sqlserver数据库使用空间监控
- iOS的init、loadView、 viewDidLoad、viewDidUnload的关系
- C# 日期插入access数据库
- 【机器学习-斯坦福】学习笔记9 规则化和模型选择(Regularization and model selection)
- 下一代网络热潮:软件定义网络SDN技术
- ios下得到汉字拼音的方法比较
- mysql 空间数据库使用
- Uploadify的参数详解
- Javascript实现打印JSP页面中的表
- 易簡)의 憂勞
- SQO2008配置管理工具服务显示远程过程调用失败
- sql2000版本
- 这个开源的里有extjs 图形化报表
- 网络编程
- InputStreamReader类和OutputStreamWriter类