博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
北京充电桩数据的获取与展示
阅读量:5224 次
发布时间:2019-06-14

本文共 2629 字,大约阅读时间需要 8 分钟。

概述:

本文讲述如何通过高德的搜索接口获取北京市的充电桩的数据,并实现WEBGIS的展示。

效果:

获取网络数据并保存

获取的数据

转换为Geojson

地图展示

查看充电桩信息

实现:

1、获取数据并保存

通过接口“http://ditu.amap.com/service/poiInfo?query_type=TQUERY&pagesize=20&pagenum=1&zoom=8&city=110000&keywords=充电桩”获取数据。

package com.lzugis.url;import com.amazonaws.util.json.JSONArray;import com.amazonaws.util.json.JSONObject;import com.lzugis.CommonMethod;public class GetChargingPile {		public static void main(String[] args) {		// TODO Auto-generated method stub		CommonMethod cm = new CommonMethod();		String file = "d://chargingpile.txt";		int pageSize = 20, total = 894;		int pageNum = total%50==0?(int)total/pageSize:(int)total/pageSize+1;		try{			cm.append2File(file, "districtname,districtcode,latitude,longitude,name,address,picinfo");			System.out.println("totalnum="+pageNum);			for(int i=0;i
2、格式转换为geojson

# -*- coding: utf-8 -*-import sysfrom osgeo import gdalfrom osgeo import ogr#读取shap文件def shp2json():    #为了支持中文路径,请添加下面这句代码     gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","NO")      #为了使属性表字段支持中文,请添加下面这句    gdal.SetConfigOption("SHAPE_ENCODING","")      #注册所有的驱动     ogr.RegisterAll()      #数据格式的驱动    driver = ogr.GetDriverByName('ESRI Shapefile')    ds = driver.Open(r'D:\\data\\gdal\\chargingpile.shp');    if ds is None:        print "打开文件失败!"        sys.exit(1)    dv = ogr.GetDriverByName("GeoJSON")    if dv is None:        print "打开驱动失败!"        sys.exit(1)    dv.CopyDataSource(ds, r"D:\\data\\gdal\\chargingpile.geojson")    ds.Destroy()    print "转换成功!"def main():    shp2json();    if __name__ == "__main__":    main();
3、页面展示

$.get("../data/chargingpile.geojson",null,function(result){					result = eval("("+result+")");				    var features = (new ol.format.GeoJSON()).readFeatures(result);				    for(var i=0;i
").append("所属区域:"+feature.get("districtna")+"
") .append("区域编码:"+feature.get("districtco")+"
") .append("位置:("+feature.get("longitude")+", "+feature.get("latitude")+")
") .append("地址:"+feature.get("address"))) .append($("").attr("src",feature.get("picinfo"))); container.style.display = 'block'; title.innerHTML = feature.get("name"); title.style.display = 'block'; map.getView().setCenter(coordinate); }); }); }

---------------------------------------------------------------------------------------------------------------

技术博客

CSDN:http://blog.csdn/gisshixisheng

博客园:http://www.cnblogs.com/lzugis/

在线教程

http://edu.csdn/course/detail/799

Github

https://github.com/lzugis/

联系方式

q       q:1004740957

e-mail:niujp08@qq.com

公众号:lzugis15

Q Q 群:452117357(webgis)

             337469080()

转载于:https://www.cnblogs.com/lzugis/p/7224355.html

你可能感兴趣的文章
HDU1556 敌兵布阵
查看>>
Unity3D之游戏暂停制作方法记录
查看>>
走出迷宫
查看>>
[POJ 3155] Hard Life
查看>>
【window服务器】
查看>>
Guava新增集合类型-Multiset
查看>>
swift 实现复制粘贴功能。
查看>>
JavaScript中变量、参数、函数之间的关系
查看>>
(转)python学习笔记5--decimal
查看>>
[BZOJ 5323][Jxoi2018]游戏
查看>>
编程面试的10大算法概念汇总
查看>>
【蒟蒻周报】思维与结论的碰撞 9.17-9.23
查看>>
一个软件经历的阶段
查看>>
自我介绍
查看>>
毕业后第一份工作程序员应该做多久?
查看>>
Load generator连接失败的解决办法!(转)
查看>>
codevs 3295 落单的数
查看>>
演练:实现支持基于事件的异步模式的组件
查看>>
STM32 HAL库学习系列第7篇---定时器TIM 输入捕获功能
查看>>
js中this的指向问题
查看>>