文章目录
GeoTools 中的 ReferencingFactoryFinder 类用于查找和获取 CRS(坐标参考系统)工厂类实例,其主要查找路径和实现机制如下:
- 它会查找所有 META-INF/services/目录下名为 org.opengis.referencing.Factory 的文件。
- 这些文件通过 java.util.ServiceLoader 机制存放着可 plug-in 的坐标系统工厂类名。
- GeoTools 会默认在其 jar 包中添加一些内置的坐标系统工厂类到这个文件中。
- 用户也可以通过放入额外的 jar 包,在自己的 META-INF/services 中新增工厂类。
- ReferencingFactoryFinder 会加载这些工厂类,并缓存到内部的工厂 Map 中。
- 获取工厂时,则直接从 Map 返回,不需要重新扫描。
- 如果工厂类不存在,会抛出 FactoryNotFoundException 异常。
使用特定访问