编程与开发

首页 编程与开发
Leaflet 和 OpenLayers 怎么选?轻量地图与复杂 GIS 前端的取舍 编程与开发
Leaflet 和 OpenLayers 都是 WebGIS 前端常用框架。二者没有绝对好坏,更多是适用场景不同。选型时不要只看示例是否漂亮,而要看项目的数据类型、交互复杂度、投影需求和团队经验。 Leaflet 的优势 Leaflet 轻量、API 简单、插件生态丰富,非常适合做信息展示型地图、点位管理、移动端轻应用…
Dr.GIS 2026年5月30日
WebGIS 坐标拾取功能怎么做:点击地图获取经纬度与逆地理编码 编程与开发
坐标拾取是 WebGIS 系统里很常见的小功能:用户点击地图,页面显示经纬度,必要时返回地址、行政区或附近地物。它看起来简单,但要做得可靠,需要处理坐标系、精度、格式和接口限制。 点击事件获取坐标 在 Leaflet、OpenLayers、MapLibre GL 中,都可以监听地图点击事件。事件对象通常会包含点击位置对…
Dr.GIS 2026年5月30日
ArcPy 字段批量计算:CalculateField 的常见用法和避坑 编程与开发
ArcPy 的 CalculateField 可以把属性表中的重复字段计算自动化。无论是统一编码、生成名称、更新面积,还是按条件分类,都可以通过脚本批量完成。它的关键是表达式写法和字段类型要匹配。 字符串拼接 import arcpy fc = r"D:gisdata.gdbparcels" arcpy.managem…
Dr.GIS 2026年5月30日
PostGIS 空间索引为什么没生效?EXPLAIN、ST_Intersects 与范围过滤排查 编程与开发
PostGIS 查询慢时,很多人第一反应是“我已经建了 GiST 索引,为什么还慢?”空间索引确实重要,但它不是只要存在就一定会被使用。查询写法、函数位置、数据量、统计信息和坐标转换都会影响执行计划。 确认索引存在 CREATE INDEX idx_parcels_geom ON parcels USING GIST …
Dr.GIS 2026年5月30日
ArcPy 批量投影转换:用 Python 统一文件夹内 Shapefile 坐标系 编程与开发
项目交付时,经常会收到来自不同部门的 Shapefile:有的是 WGS84,有的是 CGCS2000,有的甚至没有 prj 文件。手动一个个投影转换既慢又容易漏。ArcPy 可以把这个流程批量化,尤其适合整理数据目录和制作统一底库。 基本思路 批量投影转换的核心步骤是:遍历输入文件夹,识别每个 Shapefile,检…
Dr.GIS 2026年5月30日
WebGIS 前端如何加载 GeoJSON 大文件:从压缩、切片到可视化降采样 编程与开发
GeoJSON 易读、易调试、生态好,但它并不适合无限变大。当前端直接加载几十 MB 甚至上百 MB 的 GeoJSON 时,常见问题包括首屏白屏、浏览器内存飙升、地图拖拽卡顿、样式计算变慢。优化这类问题,需要从数据体积、传输方式和渲染策略一起处理。 先减少不必要的数据 很多 GeoJSON 文件慢,不是因为几何一定复…
Dr.GIS 2026年5月30日
WebGIS 地图加载慢怎么办?瓦片、矢量切片、聚合、懒加载优化方案 编程与开发
WebGIS 地图加载慢,通常不是单一原因造成的,而是底图瓦片、业务图层、接口查询、前端渲染、数据量和服务器配置共同影响的结果。优化时不要只盯着服务器,也不要只盯着前端代码,最好从数据、服务、网络、渲染四个方面一起排查。 一、WebGIS 地图为什么会加载慢? 很多 WebGIS 项目一开始在本地测试很流畅,但一上线就…
Dr.GIS 2026年5月23日
GeoPandas 空间连接 sjoin 结果为空怎么办?CRS、几何、索引三步排查 编程与开发
在使用 GeoPandas 做空间分析时,sjoin 是一个非常常用的函数。比如判断点落在哪个行政区内、将 POI 点位匹配到街道、给采样点批量挂接区县字段等,都离不开空间连接。 但很多初学者会遇到一个典型问题:两个图层在地图上看起来明明有重叠,为什么 geopandas.sjoin() 之后结果为空? 一、先确认:s…
Dr.GIS 2026年5月23日