# spatial4j-learning
**Repository Path**: shengshifeiyang/spatial4j-learning
## Basic Information
- **Project Name**: spatial4j-learning
- **Description**: Spatial4j类库使用说明,Spatial4j是一个通用的空间/地理空间(spatial/geospatial) ASL 授权的开源Java库。它的核心能力有三个方面:提供常见的形状,可以在欧几里得和测地线(球体)表面世界模型,提供距离计算和其他数学、读和写等格式的形状 WKT 和GeoJSON
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 5
- **Created**: 2022-05-01
- **Last Updated**: 2024-07-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# spatial4j-learning
## 介绍
Spatial4j是一款java编写的空间计算开源库,支持ASL开源协议,支持地理空间计算。
Spatial4j主要有三个主要功能:
1)支持基于平面几何或地理空间的若干图形;
2)支持距离计算和形状的计算:计算边界框、面积、图形间的关系等
3)解析WKT、GeoJSON等空间描述标准格式
Spatial4j利用了部分JTS的能力(JTS是最流行的java空间计算库),例如多边形是基于JTS实现的。相比与JTS,spatial4j还支持了圆以及地理空间计算。用JTS,通常用多边形近似替代了圆的计算,对结果会造成一定误差,而Spatial4j支持了圆;另外,地理空间计算的应用现在十分广泛,用spatial4j会更加方便。
## 项目结构
1)context 几何工厂,负责创建相关几何对象
2)distance 相关计算包
3)exception
4)io 输入输出:geoJson WKT WKB 等
5)shape 几何形状,处理对象实体
## 使用说明
[shape几何结构说明](docs/shape/shape.md)
[shape几何创建](docs/shape/shape-create.md)
[平面坐标系与空间坐标系下面的几何关系](docs/shape/shape-relate.md)
[Spatial距离计算](docs/shape/spatial4j-distance.md)
[Spatial WKT格式解析](docs/shape/wktreadwrite.md)
[Spatial GeoJSON格式解析](docs/shape/geojson.md)
## 安装教程
```xml
org.locationtech.spatial4j
spatial4j
0.8
org.noggit
noggit
0.8
true
com.fasterxml.jackson.core
jackson-databind
2.9.10.8
true
org.locationtech.jts
jts-core
1.18.1
true
```
## 代码类库地址
[spatial4j GitHub](https://github.com/locationtech/spatial4j)