集合高德地图搜索--导出Excel数据 工具

Tableau可视化分析被盗自行车数据实战指南 自行车盗窃是城市公共安全中高频、低报案率但强时空聚集性的典型可防性案件。其数据具备字段稳定、地理锚点扎实、隐私风险低等特点,天然适合作为商业智能工具的入门级高价值训练场景。Tableau凭借鲁棒的中文地址地理编码能力、亚小时级时间切片支持及零代码交互下钻功能,在此类中小规模治安数据分析中显著优于Power BI与QuickSight。通过构建星型数据模型、设计锁具失效指数(LFI)与三维时间矩阵等业务化指标,可将原始报案记录转化为热力图、归因地图与地理围栏预警看板,直接支撑社区巡逻调度、高校安防升级与锁具精 阅读详情
第一个是高德地图接口返回的数据对象的domain类
@Getter @Setter 
public class DataClass {

	private String name; //名称
	private String pname;//poi所在省份名称  若是直辖市的时候,此处直接显示市名,例如北京市
	private String cityname;//城市名   若是直辖市的时候,此处直接显示市名,例如北京市 
	private String adname;//区域名称  区县级别的返回,例如朝阳区
	private String address; // 地址  东四环中路189号百盛北门
	private String location; //经纬度  格式:X,Y
	private String tel; //该POI的电话
	private String distance;  //离中心点距离   单位:米   必须说明, 此结果仅在周边搜索的时候有值
	private String LON;//经
	private String LAT;//纬
	private String photos;//照片集
	private String picOss;//照片上传到服务器之后返回的url
	
}
第二个类是Controller类  用户访问的接口


import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/demo")
public class DownLoadExcelForXXXYEWUController {

	@Resource
	private XXXXMapper xxxxmapper;

	@RequestMapping(value = "demoInfo", method = RequestMethod.GET)
	@ResponseBody
	public String ExportDataByExcel(String code, String page, HttpServletRequest req, HttpServletResponse resp) {
		if (StringUtils.isEmpty(code) || StringUtils.isEmpty(page)) {
			return "输入的参数有误!";
		}
		// Excel标题
		String title = "导出excel表格";
		// 列名
		String[] rowsName = new String[] { "序号", "XX名称", "XX类型", "XX头像", "XX联系电话(固话)", "XX经度", "XX纬度", "省份", "城市", "区",
				"街道", "具体地址", "XX星级" };
		// 新建数据集合
		List<Object[]> dataList = new ArrayList<Object[]>();
		Object[] objs = null;
		GetDataFromGaoDe t = new GetDataFromGaoDe();
		//拿到高德接口返回的数据
		List<DataClass> resultData = t.getDate(code, page);
		if (null != resultData && !resultData.isEmpty()) {
			for (int i = 0; i < resultData.size(); i++) {
				//拿到每一个DataClass数据对象
				DataClass data = resultData.get(i);
				objs = new Object[rowsName.length];
				
				objs[0] = i;//序号
				objs[1] = StringUtils.isEmpty(data.getName()) ? "  " : data.getName();//XXX名称
				objs[2] = "XXXX";//XXX类型
				objs[3] = "   ";//XXX图片
				objs[4] = StringUtils.isEmpty(data.getTel()) ? "  " : data.getTel();//联系方式
				objs[5] = StringUtils.isEmpty(data.getLON()) ? "  " : data.getLON();//经度
				objs[6] = StringUtils.isEmpty(data.getLAT()) ? "  " : data.getLAT();//纬度
				objs[7] = StringUtils.isEmpty(data.getPname()) ? "  " : data.getPname();//省份
				objs[8] = StringUtils.isEmpty(data.getCityname()) ? "  " : data.getCityname();//城市
				objs[9] = StringUtils.isEmpty(data.getAdname()) ? "  " : data.getAdname();//区
				objs[10] = "  ";//街道
				objs[11] = StringUtils.isEmpty(data.getAddress()) ? "  " : data.getAddress();//具体地址
				objs[12] = "可以继续自定义";//自定义

				dataList.add(objs);
			}
		}
		ExcelUtil ex = new ExcelUtil(title, rowsName, dataList);
		try {
			ex.export(req, resp);
		} catch (Exception e) {
			e.printStackTrace();
		}

		if (null != resultData && !resultData.isEmpty()) {
			for (DataClass data : resultData) {
				XxxRegistrationVO insertParam = new XxxRegistrationVO();
				if (StringUtils.isNotEmpty(data.getLAT()) && StringUtils.isNotEmpty(data.getLON())) {
					insertParam.setLat(Double.valueOf(data.getLAT()));
					insertParam.setLon(Double.valueOf(data.getLON()));
				}
				insertParam.setCheckPerson((long) 100);
				// 发现联系电话有问题,截取一下
				if (StringUtils.isNotEmpty(data.getTel()) && data.getTel().length() >= 7) {
					if (!"[]".equals(data.getTel())) {
						String[] phones = data.getTel().split(";");
						// String phone = data.getTel().substring(0, 11);
						insertParam.setEdtPhone(phones[0]);
					}
				}

				insertParam.setHeadUrl(data.getPicOss());
				insertParam.setProvice(data.getPname());// 省
				insertParam.setCity(data.getCityname());// 市
				insertParam.setArea(data.getAdname());// 区
				// insertParam.setStreet(data.getAdname());//街道
				insertParam.setAddress(data.getAddress());// 具体地址
				insertParam.setClassify("1");
				insertParam.setXxxType("1");
				insertParam.setXxxName(data.getName());
				insertParam.setXxxRegistInfo("运营活动上线XXX");

				//插入数据库
				//xxxxmapper.add(insertParam);
			}
		}
		return "已经完成下载!";
	}

}
这是Excel导出的工具类  
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.CellRangeAddress;
import org.apache.poi.hssf.util.HSSFColor;




/**
 * 导出Excel公共方法
 * @version 1.0
 * 
 * @author wangcp
 *
 */
@SuppressWarnings("deprecation")
public class ExcelUtil {
       
    private String title;//显示的导出表的标题
   
    private String[] rowName; //导出表的列名
    
    private List<Object[]>  dataList = new ArrayList<Object[]>();//数据集合
    
    HttpServletResponse  response;
    
    
    //构造方法,传入要导出的数据
    public ExcelUtil(String title,String[] rowName,List<Object[]>  dataList){
        this.dataList = dataList;
        this.rowName = rowName;
        this.title = title;
    }
    
    
    /*
     * 导出数据
     * */
    public void export(HttpServletRequest req, HttpServletResponse resp) throws Exception{
        try{
            HSSFWorkbook workbook = new HSSFWorkbook();// 创建工作簿对象
            HSSFSheet sheet = workbook.createSheet(title);// 创建工作表
            
            // 产生表格标题行
            HSSFRow rowm = sheet.createRow(0);
            HSSFCell cellTiltle = rowm.createCell(0);
            //sheet样式定义【getColumnTopStyle()/getStyle()均为自定义方法 - 在下面  - 可扩展】
            HSSFCellStyle columnTopStyle = this.getColumnTopStyle(workbook);//获取列头样式对象
            HSSFCellStyle style = this.getStyle(workbook);                  //单元格样式对象
            //合并地区 : 0行 0列 ---1行 列的长度
            sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, (rowName.length-1)));  
			//设置第一行的表格标题类型
            cellTiltle.setCellStyle(columnTopStyle);
			//设置第一行的表格标题内容
            cellTiltle.setCellValue(title);
            
			
            // 定义所需列数
            int columnNum = rowName.length;
            HSSFRow rowRowName = sheet.createRow(2);//在索引2的位置创建行(最顶端的行开始的第二行,此时第一行是标题)
            
            // 将列头设置到sheet的单元格中
            for(int n=0;n<columnNum;n++){
				//创建列头对应个数的单元格
                HSSFCell  cellRowName = rowRowName.createCell(n);
				//设置列头单元格的数据类型
                cellRowName.setCellType(HSSFCell.CELL_TYPE_STRING);
				//拿到各个列头名
                HSSFRichTextString text = new HSSFRichTextString(rowName[n]);
				//设置列头单元格的值、设置列头单元格样式
                cellRowName.setCellValue(text); 
                cellRowName.setCellStyle(columnTopStyle);
            }
            
            //将查询出的数据设置到sheet对应的单元格中
			//循环数据对象个数
            for(int i=0;i<dataList.size();i++){
				//遍历每个对象                
                Object[] obj = dataList.get(i);
				//创建所需的行数(加上标题的最开始的两行,所以索引+3)
                HSSFRow row = sheet.createRow(i+3);                
                for(int j=0; j<obj.length; j++){
                    HSSFCell  cell = null;   //设置单元格的数据类型
					//在row行里
                    if(j == 0){
						
                        cell = row.createCell(j,HSSFCell.CELL_TYPE_NUMERIC);
                        cell.setCellValue(i+1);    
                    }else{
                        cell = row.createCell(j,HSSFCell.CELL_TYPE_STRING);
                        if(!"".equals(obj[j]) && obj[j] != null){
                            cell.setCellValue(obj[j].toString());//设置单元格的值
                        }
                    }
                    cell.setCellStyle(style);//设置单元格样式
                }
            }
            //让列宽随着导出的列长自动适应
            for (int colNum = 0; colNum < columnNum; colNum++) {
                int columnWidth = sheet.getColumnWidth(colNum) / 256;
                for (int rowNum = 0; rowNum < sheet.getLastRowNum(); rowNum++) {
                    HSSFRow currentRow;
                    //当前行未被使用过
                    if (sheet.getRow(rowNum) == null) {
                        currentRow = sheet.createRow(rowNum);
                    } else {
                        currentRow = sheet.getRow(rowNum);
                    }
                    if (currentRow.getCell(colNum) != null) {
                        HSSFCell currentCell = currentRow.getCell(colNum);
                        if (currentCell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
                            int length = currentCell.getStringCellValue().getBytes().length;
                            if (columnWidth < length) {
                                columnWidth = length;
                            }
                        }
                    }
                }
                if(colNum == 0){
                    sheet.setColumnWidth(colNum, (columnWidth-2) * 256);
                }else{
                    sheet.setColumnWidth(colNum, (columnWidth+4) * 256);
                }
            }
            
            if(workbook !=null){
                try
                {
                    String fileName = "Excel-" + String.valueOf(System.currentTimeMillis()).substring(4, 13) + ".xls";
                    String headStr = "attachment; filename=\"" + fileName + "\"";
                    //response = ((ServletWebRequest) RequestContextHolder.getRequestAttributes())).getResponse();              
                    response = resp;
                    response.setContentType("APPLICATION/OCTET-STREAM");
                    response.setHeader("Content-Disposition", headStr);
                    OutputStream out = response.getOutputStream();
                    workbook.write(out);
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }


        }catch(Exception e){
            e.printStackTrace();
        }
        
    }
    
    /* 
     * 列头单元格样式
     */    
      public HSSFCellStyle getColumnTopStyle(HSSFWorkbook workbook) {
          
          // 设置字体
          HSSFFont font = workbook.createFont();
          //设置字体大小
          font.setFontHeightInPoints((short)11);
          //字体加粗
          font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
          //设置字体名字 
          font.setFontName("Courier New");
          //设置样式; 
          HSSFCellStyle style = workbook.createCellStyle();
          //设置底边框; 
          style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
          //设置底边框颜色;  
          style.setBottomBorderColor(HSSFColor.BLACK.index);
          //设置左边框;   
          style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
          //设置左边框颜色; 
          style.setLeftBorderColor(HSSFColor.BLACK.index);
          //设置右边框; 
          style.setBorderRight(HSSFCellStyle.BORDER_THIN);
          //设置右边框颜色; 
          style.setRightBorderColor(HSSFColor.BLACK.index);
          //设置顶边框; 
          style.setBorderTop(HSSFCellStyle.BORDER_THIN);
          //设置顶边框颜色;  
          style.setTopBorderColor(HSSFColor.BLACK.index);
          //在样式用应用设置的字体;  
          style.setFont(font);
          //设置自动换行; 
          style.setWrapText(false);
          //设置水平对齐的样式为居中对齐;  
          style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
          //设置垂直对齐的样式为居中对齐; 
          style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
          
          return style;
          
      }
      
      /*  
     * 列数据信息单元格样式
     */  
      public HSSFCellStyle getStyle(HSSFWorkbook workbook) {
            // 设置字体
            HSSFFont font = workbook.createFont();
            //设置字体大小
            //font.setFontHeightInPoints((short)10);
            //字体加粗
            //font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
            //设置字体名字 
            font.setFontName("Courier New");
            //设置样式; 
            HSSFCellStyle style = workbook.createCellStyle();
            //设置底边框; 
            style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
            //设置底边框颜色;  
            style.setBottomBorderColor(HSSFColor.BLACK.index);
            //设置左边框;   
            style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
            //设置左边框颜色; 
            style.setLeftBorderColor(HSSFColor.BLACK.index);
            //设置右边框; 
            style.setBorderRight(HSSFCellStyle.BORDER_THIN);
            //设置右边框颜色; 
            style.setRightBorderColor(HSSFColor.BLACK.index);
            //设置顶边框; 
            style.setBorderTop(HSSFCellStyle.BORDER_THIN);
            //设置顶边框颜色;  
            style.setTopBorderColor(HSSFColor.BLACK.index);
            //在样式用应用设置的字体;  
            style.setFont(font);
            //设置自动换行; 
            style.setWrapText(false);
            //设置水平对齐的样式为居中对齐;  
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
            //设置垂直对齐的样式为居中对齐; 
            style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
           
            return style;
      
      }
           
}
getData()方法:
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

import org.apache.commons.lang3.StringUtils;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class GetDataFromGaoDe {

	public List<DataClass> getDate(String code, String page) {
		List<DataClass> result = new ArrayList<DataClass>();

		try {
			StringBuffer send = new StringBuffer();
			send.append("&key=").append("8325164e247e15eea68b59e89200988b");
			// send.append("&page=").append("1");
			send.append("&page=").append(page);
			send.append("&city=").append(code);
			send.append("&offset=").append("20");
			send.append("&keywords=").append(URLEncoder.encode("在高德地图搜索的关键字", "UTF-8"));// 中文编码
			// city编码查询网址(http://lbs.amap.com/api/javascript-api/reference-amap-ui/geo/district-explorer) 
			// send.append("&city=").append("440403");
			send.append("&citylimit=").append("true");
			send.append("&language=").append("zh_cn");
			send.append("&extensions=").append("all");
			String data = SmsClientAccessTool.getInstance().doAccessHTTPPost("http://restapi.amap.com/v3/place/text",
					send.toString(), "UTF-8");

			if (data != null) {// 循环读取数据
				/*
				 * System.out.println(data); String dateSub = data.substring(14, data.length());
				 * JSONObject obj = JSONObject.parseObject(dateSub.substring(0, dateSub.length()
				 * - 1));
				 */

				// 把data转换成json类型对象
				JSONObject obj = JSONObject.parseObject(data);
				// 拿到pois数组,并把数组转换成json类型数组
				JSONArray arraylist = JSONArray.parseArray(obj.getString("pois"));

				// 迭代pois
				if (arraylist != null && !arraylist.isEmpty()) {
					for (int i = 0; i < arraylist.size(); i++) {
						// 每一个pois的对象都是一个结果
						DataClass date = JSON.parseObject(arraylist.getJSONObject(i).toJSONString(), DataClass.class);
						if (date != null && StringUtils.isNotEmpty(date.getLocation())) {
							String[] longitudeAndLatitude = date.getLocation().split(",");
							// 获得经纬度
							if (null != longitudeAndLatitude && 2 == longitudeAndLatitude.length) {
								date.setLAT(longitudeAndLatitude[1]);
								date.setLON(longitudeAndLatitude[0]);
							}

							// 处理图片信息
							if (StringUtils.isNotEmpty(date.getPhotos())) {
								//如果照片相关信息不为空
								JSONArray photoList = JSONArray.parseArray(date.getPhotos());
								if (null != photoList && !photoList.isEmpty()) {
									//取第一张图片
									JSONObject gaodePic = JSONObject.parseObject(photoList.getString(0));
									//拿到照片的url
									String pic = gaodePic.getString("url");
									if (StringUtils.isNotEmpty(pic)) {
										String path = "H:/pic/" + UUID.randomUUID() + ".jpg";
										downloadPicture(pic, path);
										String resultUrl = OSSUploadUtil.uploadFile(new File(path), "jpg",
												"institution/");
										date.setPicOss(resultUrl);
									}
								}
							}
						}
						result.add(date);
					}
				}
				/*
				 * System.out.println(JSONObject.toJSONString(result)); data = br.readLine();
				 */
			}

		} catch (

		Exception e) {
			e.printStackTrace();
		}

		return result;
	}

	// 链接url下载图片
	/**
	 * 
	 * @param urlList 照片url
	 * @param path  下载目的路径
	 */
	private static void downloadPicture(String urlList, String path) {
		URL url = null;
		try {
			//新建图片url
			url = new URL(urlList);
			//新建数据输入流
			DataInputStream dataInputStream = new DataInputStream(url.openStream());
			//新建文件输出流
			FileOutputStream fileOutputStream = new FileOutputStream(new File(path));
			//数组输出流
			ByteArrayOutputStream output = new ByteArrayOutputStream();
			//btye类型数组
			byte[] buffer = new byte[1024];
			//长度
			int length;
			//当输入流能读到长度
			while ((length = dataInputStream.read(buffer)) > 0) {
				//输出流写长度
				output.write(buffer, 0, length);
			}
			//文件类型的输出流写二进制文件
			fileOutputStream.write(output.toByteArray());
			dataInputStream.close();
			fileOutputStream.close();
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}



2026年AI编程工具实战选型指南:TRAE、Copilot、Windsurf、通义灵码与Claude Code Agent深度对比 AI编程工具已从简单代码补全演进为具备深度理解、任务编排与领域适配能力的智能开发协作者。其核心原理涵盖跨文件符号图谱分析、上下文感知生成、双向代码-UI映射、中文语义解析及多智能体任务分解等关键技术路径。这类工具的技术价值在于显著降低重构风险、加速原型验证、提升中文需求转化准确率,并支撑企业级复杂工程落地。典型应用场景包括老旧系统安全重构、政务/金融类标准化前端快速交付、国产信创环境下的SQL与API生成,以及跨团队协作型需求的分阶段可信交付。本文聚焦TRAE的代码CT扫描能力与通义灵码的中文语义翻译能力, 阅读详情

相关推荐

GIS从业者如何正确使用KNN:距离、K值与空间语义的适配指南

K近邻(KNN)作为基础机器学习算法,其核心是基于‘邻近性’进行预测或检索;原理上依赖距离度量、邻居数量K及特征空间结构;技术价值在于无需训练、可解释性强、天然支持多源异构数据融合;在地理信息系统(GIS)中广泛应用于设施覆盖分析、可达性评估、空间异常检测等场景;但直接套用scikit-learn等通用库常导致结果失真——根源在于欧氏距离无法表征真实路网通行关系,孤立K值难以承载行政边界与时间阈值等业务约束。本文聚焦GIS实战,详解如何将KNN从向量空间算法重构为地理语义驱动的空间分析工具,涵盖路网距离集成

abxlep7702的博客 406

利用高德地图API获取POI信息(名称与经纬度)

在 https://lbs.amap.com/dev/key 申请高德地图key(注意平台选择“web服务”) 在EasyPoi(高德绿色版)中输入前一步的Key,选择要下载的POI类型与区域,点击开始。(注意easypoi.exe要在纯英文目录下以管理员方式打开) 爬取到的数据格式为csv,直接打开会显示乱码,且对坐标进行了加密。打开arcmap,导入csv,随后将其导出为txt格式。 用记事本打开txt文件,将其另存为“带有BOM的UTF-8”编码的csv格式文件。 用excel..

qq_38863861的博客 7798

多目标规划实战:从Pareto前沿到冷链调度落地

多目标规划是运筹优化中的核心方法论,用于处理成本、时效、合规等相互冲突的现实约束。其原理在于识别帕累托最优前沿——即无法单方面改进某一目标而不损害其他目标的解集。技术价值在于将模糊决策转化为可量化权衡,支撑资源分配、排产调度与服务策略制定。典型应用场景包括物流路径优化、生产计划排程、投资组合配置及城市公共服务调度。本文以生鲜冷链配送为案例,深度融合数模学习日记与工程实践,系统解析ε-约束法、目标规划与NSGA-II等主流方法的适用边界与避坑要点,助力工程师快速构建‘算法生成前沿+人工判断选择’的闭环决策能力

weixin_30546189的博客 394

python爬取高德poi数据_高德地图之python爬取POI数据及其边界经纬度

目前高德的边界没法批量爬取,不过可以采用百度地图的接口来替代,目前用着还可以,参见这里:为了方便大家,不用再为安装环境,以及运行报错等问题困扰,目前已经将POI数据爬取做成一个在线公开的数工具,地址奉上:免费使用哦,只需要申请个高德key,然后选择需要爬取的城市,关键字名,以及数据的坐标系,即可将数据导出到本地,无需运行任何代码。欢迎加入地图数据爬取交流群:626697156背景由于之前项目需要从...

weixin_34835470的博客 6946

最新高德商家信息导出(公开信息)

本章教程,主要介绍一下,如何从高德地图中根据关键词,获取商家信息,并导出Excel。教程仅供参考,请勿滥用,由此带来的法律责任,需由自己承担。

猿小白的博客 2272

陕西公路shp文件处理实战:从获取、转换到避坑全解析

shp(Shapefile)是GIS领域应用最广泛的矢量数据格式,由几何、索引、属性等多个同名文件共同构成,也是路网分析、地图制图、交通规划等工程中的基础数据载体。在实际操作中,shp文件打不开、属性表中文乱码、坐标系错位,以及与CAD、TXT、3dtiles等格式互相转换的问题,一直是高频搜索和日常工作中的常见痛点。理解shp的文件组成与坐标参考系原理,掌握ArcGIS、QGIS等软件中数据清洗与格式转换的通用方法,是高效处理地理空间数据的关键。本文围绕陕西各级公路shp数据,从数据获取、坐标统一、属性整

weixin_34082789的博客 346

python批量地址爬取(高德地图)

在地理分析中,通常需要自己获取经纬度数据,当地址只有几个的时候,可以直接在网页输入地址拾取经纬度即可,而当地址数量庞大,比如几十个几百个的时候,肯定是耗费时间的,这时就可以借助python与地图接口来进行经纬度的爬取。当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

qq_41314882的博客 6279

常见机械臂模型不用找!Mujoco这儿都有!

高质量的模型集合,franka panda,so-arm100,ur之类的机械臂都有。常见机械臂模型不用找!Mujoco这儿都有!大概346M,网速不行的可以下载zip。

darcsdn 992

高德商家POI搜索商家采集信息导出(公开信息)原创

为了提升从地图搜索中获取商家信息的效率,可以利用特定的采集工具或软件来完成高德地图的商家信息采集,并导出到 Excel 表格中。

大鱼社区的博客 3506

如何有效使用Project(1)——编制进度计划、保存基准

1.前言: 软件产品的研发、升级、定制等,一般都是以项目的形式进行,此时项目进度计划以及资源使用情况就变成了项目经理关注的重点。如何让项目计划有效可控,及时暴露问题?如何查看资源的负荷情况,看资源分配是否合理。 当然,如果你的公司已经实施了专门的PM软件来监督管控,可以忽略本文。否则,你可以用微软的Project来做到这一工作。 我也算是一个专业的从事PM软件产品的人(虽然我们的客户都是制造...

weixin_34236869的博客 2115

NA400与昆仑通态MODBUS/TCP通讯调试说明

点击增加设备通道,弹出窗口进行设置,通道类型选择“0区输出继电器”,通道地址为1,通道个数为1,读写方式为读写。点击增加设备通道,弹出窗口进行设置,通道类型选择“4区输出寄存器”,数据类型选择“16位 无符号二进制”,通道地址为21001,通道个数为1,读写方式为读写。5.添加设备通道:双击莫迪康MODBUSTCP子设备,点击添加设备通道,根据Modbus规约地址表进行参数的设置,表格可在NAPro软件帮助中查看,如下图所示。然后可以在设备通道调试数据中观察到Q1的值为1,NW1的值678,表示通讯成功。

weixin_44281509的博客 2490

地图商户搜索导出小程序(电脑+手机工具)

工具开发简介 该工具是通过百度地图,腾讯地图和高德地图公开的API接口实时采集最新的地图商户工具。只要是在地图上标注过的且公开显示的商户,单位,企业,店铺等地理坐标都可以使用该工具进行搜索并且导出。导出信息包括位置,名称和联系方式等地图上存在的公开信息。导出格式支持excel和通讯录格式,通讯录格式可以直接导入到电话簿进行拨号或者微信添加等。 工具使用 1、电脑端 支持选择地区和选择地图进行搜索,首先选定要导出的地区,填入关键词,这里可以选择排除哪些关键词,并须包括哪些关键词等,选择好地图或者选取全

网站系统开发 2183

手机如何高效辅助林业调查

手机如何高效辅助林业调查 很多林业工作者将栅格类型的地形图处理后导入平板电脑,在林地使用平板电脑加载小班矢量图,辅助林业调查。但是,如果没有地形图底图,这种方法可能就有难度,而且最重要的是,大部分林地工作者没有能力配置平板电脑。大凡林业基层工作者在林地调查时,除调查记录本等部分纸质材料外,都必然携带手机和水杯,此外其他设备已经成为累赘,尤其是炎热的夏季在杂灌丛生的林地进行调查作业。因此,使用手机...

xu780820的博客 3077

个人永久性免费-Excel催化剂功能第91波-地图数据挖宝之行政区域信息实时下载(含经纬度)...

移动互联网和O2O兴起的这十年时间里,由地图LBS功能衍生出一大堆的极高商业价值的数据及应用,地图相关的数据,也是数据分析过程中一个大宝藏,从此篇开始将带给大家一系列的地图相关的数据采集,满足数据分析的前期数据准备过程,有慧眼的分析师们,必定可以从这一系列的数据源中得到许多极高价值的基于地图的相关数据分析,而不局限于IT型思维的一个简单的地图可视化大屏刷眼球。此篇开篇带来行政区域信息...

weixin_30456039的博客 402

【Mini KITTI】KITTI数据集简介 — Mini KITTI

为了快速进行算法调试、训练、评估和验证,以及快速下载,制作了一个mini kitti数据集,数据集的文件目录结构与完整KITTI数据集保持一致。其中,小型的KITTI数据集,即 mini kitti保存了20个训练样本和5个测试样本。下载地址为:。 关于KITTI各个部分的介绍请分别参考以下内容: ...

叶子的博客 7536

(论文加源码)基于CNN和LSTM的脑电情绪识别(数据集为DEAP和seed)

论文及源码见个人主页:https://download.youkuaiyun.com/download/qq_45874683/84118637?spm=1001.2014.3001.5503 (论文加源码)基于CNN和LSTM的脑电情绪识别(数据集为DEAP和seed)4D-CRNN 目录 目录: 运行过程: 1. 运行1D文件(没有什么bug): 2. 再运行3D文件(没有出现bug): 3. 最后运行main文件(出现了两个bug)(前提需要配置好tensorflow的框架): 第一个bug是..

qq_45874683的博客 6366

个人永久性免费-Excel催化剂功能第95波-地图数据挖宝之IP地址转地理地址及不同经纬度版本转换...

经过上一波POI兴趣点查询后,地图数据挖宝也接近尾声,这次介绍在数据采集、准备过程中需要用到的一些转换功能,有IP地址转换地理地址及不同地图版本的经纬度转换。 背景知识 在电商、网络的数据分析过程中,有一个维度同样很有价值,分析用户的区域分布,网络上只会记录到IP地址,需要做IP地址转换为省市结构的数据源进行分类分析,高德地图也同样提供了很大的免费额度供我们使用,在此也一并附...

weixin_30326515的博客 377

【OpenClaw从入门到精通】第48篇:企业“养虾”合规手册——审批备案+专网隔离+全流程管控(2026企业版)

随着OpenClaw在企业场景的规模化应用,“无审批部署、无备案运行、无隔离防护”已成为安全事件的主要诱因。本文基于启明星辰《OpenClaw类智能应用安全指引V0.1》,结合金融、能源行业头部企业落地实践,构建“审批-评估-备案-管控”全流程合规框架。核心内容包括四步审批备案流程、专网隔离部署规范、3套可直接复用的合规文档模板(使用申请单、安全评估报告、备案登记表),以及个人使用备案简化方案。通过本文,企业可建立“有据可依、有章可循”的OpenClaw管理体系,实现“专网部署、数据隔离、最小权限、全程监控

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 462

高德地图API实战:封装历史轨迹可视化Skill,打造交互式故事地图

地图可视化是连接数据与空间认知的核心技术,其原理在于将抽象信息(如时间、事件)通过地理坐标映射到数字地图上,实现直观的空间叙事。这项技术的价值在于能显著降低时空数据的理解门槛,提升信息传递的效率和沉浸感,广泛应用于数字人文、教育教学、商业分析和旅游规划等领域。本文聚焦于高德地图API的工程实践,通过封装可复用的Skill(解决方案包),将历史人物轨迹这类典型时空数据,转化为动态可交互的视觉叙事。Skill的核心在于提供标准化的数据格式与处理工具链,开发者只需关注故事与数据本身,即可快速生成类似“刘备生平轨迹

weixin_34194359的博客 410

20、Citrix 云桌面常见VDA注册问题汇总

本文总结了与 VDA 中出现的 VDA 会话断开连接、注册、会话卡住以及挂起/崩溃相关的主要支持文章。

我在Citrix、VMware、Veeam、微软和NVIDIA等领域拥有丰富经验的专业人士,专注于设计和维护虚拟化基础设施、实施备份与灾难恢复策略,致力于优化企业的IT环境。 944

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

从零掌握GeoJSON:四种方法创建自定义地理数据文件

地理信息系统(GIS)的核心在于将现实世界的地理要素进行数字化表达与交换。GeoJSON作为一种基于JSON的轻量级数据格式,因其人机皆可读、Web友好的特性,已成为地理空间数据交换的事实标准。其技术价值在于用统一的结构化方式(点、线、面及其集合)描述地理对象,并允许通过属性字段附加丰富的业务信息,极大地促进了地理数据的互操作性和应用开发效率。在应用场景上,无论是个人标记兴趣点、规划出行路线,还是专业领域的设施管理、区域规划,GeoJSON都能作为基础数据层。本文聚焦于**西咸新区.geojson**这类自

weixin_33849215的博客 385

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Claude Opus 4.6百万上下文实测:编程协作者的工程化落地

大语言模型的上下文能力,本质是支撑长程任务连贯推理与跨文件逻辑缝合的技术基础。其核心原理在于突破传统Transformer全局注意力瓶颈,通过热区/温区/冷区三级缓存、自适应推理深度与上下文语义压缩等机制,在海量信息中维持目标锚定与符号一致性。这种能力直接转化为AI编程场景下的关键价值:稳定处理真实项目级代码库(如23个源码文件+文档混合输入)、精准识别类型定义与状态约束、持续校验多轮交互中的目标漂移。尤其在快递小程序重构、Java电商后台迁移等典型工程实践中,Opus 4.6展现出接近资深工程师的上下文理

chuliaoqiao4046的博客 489

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

如何使用python从高德地图批量爬取地址信息

此次项目开发所使用的python安装版本为3.9.6,开发工具选择pycharm2021.2.1(社区版),python版本可以选择最新版本并可提前安装依赖库。

aojiaodeRR的博客 4820

Python批量处理地址数据:高德地图API实战(附CSV导出技巧)

本文详细介绍了如何利用Python和高德地图API批量处理地址数据,包括API配置、核心接口解析、批量处理架构设计及性能优化技巧。通过实战案例展示如何高效处理百万级地址数据,并分享CSV导出优化方法,提升数据处理效率。

rainy的博客 846
上一篇: AWS服务器在XShell上的连接问题
下一篇: 如何域名解析,并让访问域名(abc.cn)直接到达项目的主页面
BertonYip
博客等级 码龄9年 8粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值