根据jts工具,结合实际使用场景提取出来的常用工具集合,涵盖几何转换(WKT,GeoJSON等)、gis距离计算、角度计算、buffer运算、映射截取、几何穿串等操作
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)");
//转换不带Z
WktTool.geoToWkt2D(geometry);
//转换带Z
WktTool.geoToWkt3D(geometry);
GeoJsonTool.read(String geoJson)
GeoJsonTool.toJSONString(Geometry geometry)
将geometry进行扩圈处理,线场景使用最广,支持延线的方向左右扩、单边扩;
//distance单位米
BufferTool.bufferCapRound(Geometry geometry, double distance)
//distance单位米
BufferTool.bufferCapSquare(Geometry geometry, double distance)
//distance单位米
BufferTool.bufferCapFat(Geometry geometry, double distance)
//distance单位米 leftDistance 左扩x米 rightDistance 右扩X米
BufferTool.bufferGeoLeftRight(Geometry geometry, double leftDistance, double rightDistance)
//distance单位米 distance 左扩x米
BufferTool.bufferGeoLeft(Geometry geometry, double distance)
6. 右扩X米
//distance单位米 distance 右扩x米
BufferTool.bufferGeoRight(Geometry geometry, double distance)
点到点距离计算,线距离计算,点到线距离计算,度距离相关转换等工具类,半径采用地球平均半径6371.0087714;
p1: po,p2的交点坐标
p1: po,p2的交点坐标
PointLocation index:索引位置 segmentFraction:同一个index下面的占比. 应用场景:点到线做映射,然后排序映射后的点
使用场景通过数据的挂接开始、结束node关系,完成例如道路线的穿串
findNode: 寻找下个节点; stopCondition 停止条件
例如: LinkSeeker
LinkSeeker rdLinkSeeker = new LinkSeeker();
Skewer<Link> skewer = new Skewer<>(rdLinkSeeker, SeekerWay.POINT_END, link);
List<LinkedList<Node<Link>>> linkedLists = skewer.searchKebab(node,LinkSeeker.linkData);
使用场景通过数据的point起终形状点,完成例如道路线的穿串
findNode: 寻找下个节点; stopCondition 停止条件
例如: LinkSeekerByPoint
LinkSeekerByPoint rdLinkSeeker = new LinkSeekerByPoint();
SkewerPoint<Link> skewer = new SkewerPoint<>(rdLinkSeeker, SeekerWay.POINT_END, link);
List<LinkedList<Node<Link>>> linkedLists = skewer.searchKebab(node, LinkSeekerByPoint.linkData);
使用场景,例如: 输入数据: 道路线要素,路牙要素、护栏要素; 通过路牙、护栏要素在道路线上面制作新的要素A; 路牙与护栏共存输出A1,只有路牙A2,只有护栏A3
List<LineInput> lineInputList = new ArrayList<>();
//构造 路牙 护栏对象
LineInput lineInput = new LineInput();
lineInput.setLineString(几何);
lineInput.setPartType(路牙);
lineInput.setNeedShadow(true);
lineInputList.add(lineInput);
lineInputList.add(lineInput);
LineLabelFactory lineLabelFactory = new LineLabelFactory(lineInputList, 道路线要素几何);
List<LineLabel> lineLabelList = lineLabelFactory.getLineLabel(partTypeSet->{
if(partTypeSet.contains(1)){
return 1;
}else if(partTypeSet.contains(2)){
return 2;
}else {
return PartType.EMPTY;
}
});
地理坐标系统(GCS)是一种球面或大地坐标系,用于测量和直接通信地球上的位置,如纬度和经度。[1]它是目前使用的各种空间参考系统中最简单、最古老和最广泛使用的,并构成了大多数其他空间参考系统的基础。虽然纬度和经度形成了一个类似直角坐标系的坐标元组,但地理坐标系不是直角坐标系,因为测量值是角度,不在平面上。 完整的GCS规范,例如EPSG和ISO 19111标准中列出的规范,还包括大地基准(包括地球椭球)的选择,因为不同的基准将为同一位置产生不同的纬度和经度值。
地理坐标系是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。一个地理坐标系包括角度测量单位、本初子午线和参考椭球体三部分。在球面系统中,水平线是等纬度线或纬线。垂直线是等经度线或经线。常见的 WGS 84、CGCS 2000 等都属于地理坐标系。来自知乎 来自知乎
地图投影概念wiki 在制图学中,地图投影是用于在平面上表示球体的二维弯曲表面的一组广泛变换中的任何一种。在地图投影中,地球表面位置的坐标(通常表示为纬度和经度)被转换为平面坐标
进行中......
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。