GIS工具包

前言

GIS工具包,根据jts工具,结合实际使用场景提取出来的常用工具集合;涵盖几何格式转换(WKT,GeoJSON等)与geometry转换、gis距离计算、度距离单位换算、角度计算、buffer运算、映射截取、几何穿串等操作

gis-tools使用说明

gis-tools源码库地址

1. 格式转换

1.1 WktTool使用说明

wkt格式与geometry互转;

  1. wkt转geometry操作
Geometry geometry = WktTool.wktToGeo("LINESTRING (116.7262994 35.5153623, 116.726309 35.515362, 116.7263135 35.5153642, 116.72632 35.515364, 116.72633 35.515363, 116.7263355 35.5153617, 116.726343 35.515362)");
  1. geometry转wkt操作
//转换不带Z
WktTool.geoToWkt2D(geometry);
//转换带Z
WktTool.geoToWkt3D(geometry);

1.2 GeoJsonTool使用说明

  1. geoJson字符串转Geometry

GeoJsonTool.read(String geoJson)

  1. Geometry转GeoJson

GeoJsonTool.toJSONString(Geometry geometry)

2. 扩圈工具

2.1 BufferTool使用说明

将geometry进行扩圈处理,线场景使用最广,支持延线的方向左右扩、单边扩;

  1. 圆角扩圈(上下是矩形,左右是圆角)
//distance单位米
BufferTool.bufferCapRound(Geometry geometry, double distance)
  1. 扩圈(上下左右四个方向,外接多边形)
//distance单位米
BufferTool.bufferCapSquare(Geometry geometry, double distance)
  1. 上下扩圈(扩完是矩形)
//distance单位米
BufferTool.bufferCapFat(Geometry geometry, double distance)
  1. 左扩X米右扩X米
//distance单位米 leftDistance 左扩x米 rightDistance 右扩X米
BufferTool.bufferGeoLeftRight(Geometry geometry, double leftDistance, double rightDistance)
  1. 左扩X米
//distance单位米 distance 左扩x米
BufferTool.bufferGeoLeft(Geometry geometry, double distance)
  1. 右扩X米
//distance单位米 distance 右扩x米
BufferTool.bufferGeoRight(Geometry geometry, double distance)

3. 距离工具

3.1 DistanceTool使用说明

点到点距离计算,线距离计算,点到线距离计算,度距离相关转换等工具类,半径采用地球平均半径6371.0087714;

  1. 距离转换为度 cmToDegree
  2. 距离(KM)转换为度 kmToDegree
  3. 度转换为距离(单位KM) degreeToKm
  4. 度转换为距离(单位M) degreeToM
  5. 度转换为厘米 degreeToCm
  6. 获取几何距离单位(米) getLengthM(Geometry geometry)
  7. 获取几何距离单位(千米) getLengthKM(Geometry geometry)
  8. 获取两点的距离 p2pLenDegrees(Coordinate coordinate0, Coordinate coordinate1)
  9. 获取两点距离(KM) p2pLenKm(Coordinate coordinate0, Coordinate coordinate1)
  10. 获取两点距离(M) p2pLenM(Coordinate coordinate0, Coordinate coordinate1)
  11. 点到线的最近距离 p2LineDegrees(Point point, LineString lineString)
  12. 点到线的最近距离(KM) p2LineKM(Point point, LineString lineString)
  13. 点到线的最近距离(M) p2LineM(Point point, LineString lineString)

4. 角度工具

4.1 AngleTool使用说明

  1. 获取顺时针夹角 getCwAngle(Coordinate p0, Coordinate p1, Coordinate p2)

p1: po,p2的交点坐标

  1. 获取 逆时针夹角 getCCwAngle(Coordinate p0, Coordinate p1, Coordinate p2)

p1: po,p2的交点坐标

  1. 获取两条线段的逆时针夹角 getCCwAngle(Geometry lineString0, Geometry lineString1)
  2. 获取两条线段的顺时针夹角 getCwAngle(Geometry lineString0, Geometry lineString1)
  3. 判断点coordinate在线lineString的左边还是右边 isLeft(Geometry lineString, Coordinate coordinate)
  4. 判断whereLineString在lineString的左侧还是右侧 isLeft(Geometry lineString, Geometry whereLineString)

5. 操作工具

5.1 PointTool使用说明

  1. 通过线设置point的Z值 getPointZ(Geometry linkString, Point point)
  2. 获取平均Z getAvgZ(Geometry geometry)

5.2 LineTool使用说明

  1. 获取点到线的垂线 verticalLine(Point point, Geometry lineString)
  2. 获取垂足(点到线的垂足) (Point point, Geometry lineString)
  3. 截取l1在点coordinate0与coordinate1之间的线段 (Geometry l1, Coordinate coordinate0, Coordinate coordinate1)
  4. 获取l2在l1上面的线段 getExtractLine(Geometry l1, Geometry l2)
  5. 获取l2在l1上面的线段,并借用l1距离垂足xm的形状点,没有的话返回垂足做起、终点 getExtractLine(Geometry l1, Geometry l2, double xm)
  6. 获取point在l1上面的位置点(索引位置) PointLocation getLinearLocation(Geometry l1, Geometry point)

PointLocation index:索引位置 segmentFraction:同一个index下面的占比. 应用场景:点到线做映射,然后排序映射后的点

  1. 获取 pointGeoList 在线 l1上面的投影线 getExtractLineByPoints(Geometry l1, List pointGeoList)
  2. 当geometry两两形状点的跨度大于XM的时候往geometry里面加入形状点 sewing(Geometry geometry, int XM)

gis-tools源码库地址

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Blender GIS插件包是一款功能强大的地理信息系统插件,可帮助用户在Blender中快速创建、编辑和渲染地形、地图和城市景观。要下载此插件包,首先需要访问Blender GIS官方网站,从中选择适合自己电脑设备的版本进行下载。在下载之前,需要确保Blender软件已经正确安装,在安装过程中需要将Blender GIS插件包导入到Blender软件中,并按照操作说明进行设置,方便后续的使用。 Blender GIS插件包主要包含以下功能:地形渲染、追踪普查数据、创建和编辑真实地形、项目仿真、导入地图数据、制作数字地图等。通过这些功能,用户可以方便地进行地图制作和地形设计工作,具有极高的实用价值。比如,用户可以利用该插件包创建一个全景虚拟地球,通过地图标识、地标、线路等元素实现地球的实时导航等。 当然,在使用Blender GIS插件包进行相关地图和地形设计工作的过程中,需要对GIS技术有一定的理解和熟练的操作技巧,这样才能充分利用该插件包的所有功能。同时,用户还需要注意安全问题,及时备份资料,避免数据丢失和误操作带来的损失。总之,Blender GIS插件包是一款非常优秀的地理信息系统插件,可以为广大用户带来高效、精确、便捷的地图和地形设计体验。 ### 回答2: Blender GIS插件包下载可以在官方网站上进行,具体步骤如下: 第一步,打开Blender GIS官方网站(https://github.com/domlysz/BlenderGIS)。 第二步,向下滚动页面,找到“Download”标签,点击进入下载页面。 第三步,在下载页面,选择与您的操作系统和Blender版本相符合的插件包,下载到本地。 第四步,打开Blender软件,在菜单栏选择“Edit”→“Preferences”→“Add-ons”,点击“Install”按钮,选择本地下载的插件包。 第五步,将Blender GIS插件启用,并设置好插件参数,即可开始使用。 需要注意的是,在安装和使用Blender GIS插件时,要按照官方说明和指南进行操作,如有问题可以在官方社区中寻求帮助。此外,Blender GIS是一个开源的GIS工具,可以为用户提供方便快捷的地理信息处理和可视化功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值