承易 发表于 2024-7-11 22:58:50

@沉默流星,大佬 绐个安卓封装例子参考一下吧

这个仓库中的源码,可用AS编译,
https://gitee.com/mu_muu/utm
拿这个作个例子,
如何把这个安卓源码中的经纬度坐标转UTM坐标功能封装到火山安卓?我只想知道一下这个咋实现
有空时 请搞个例子吧



qqqkoko123 发表于 2024-7-12 08:20:46

这个指南针不错~

沉默流星 发表于 2024-7-12 08:44:14

创世魂 发表于 2024-7-12 08:52:32

沉默流星 发表于 2024-7-12 08:44

大佬那就交给你了,这个人问了好几天了。我一直没空弄。

承易 发表于 2024-7-12 08:55:49

创世魂 发表于 2024-7-12 08:52
大佬那就交给你了,这个人问了好几天了。我一直没空弄。

感谢两位大佬的持续关注

qqqkoko123 发表于 2024-7-12 09:21:58

沉默流星 发表于 2024-7-12 08:44


我刚看了下代码,没有封装的必要,自己写就成,要封的话就只要封个org.osgeo.proj4j这个包就行了

沉默流星 发表于 2024-7-12 09:36:24

qqqkoko123 发表于 2024-7-12 09:21
我刚看了下代码,没有封装的必要,自己写就成,要封的话就只要封个org.osgeo.proj4j这个包就行了 ...

是的

承易 发表于 2024-7-12 09:57:40

qqqkoko123 发表于 2024-7-12 09:21
我刚看了下代码,没有封装的必要,自己写就成,要封的话就只要封个org.osgeo.proj4j这个包就行了 ...

咋写的
对于大佬 轻描淡写
对于新手 云里雾里
实属无从下手
请赐教

承易 发表于 2024-7-12 10:00:56

https://blog.51cto.com/u_16213335/10803419
要在您的Java项目中使用proj4j库,您可以通过Maven添加以下依赖项:

<dependency>
    <groupId>org.osgeo</groupId>
    <artifactId>proj4j</artifactId>
    <version>0.1.0</version>
</dependency>
1.
2.
3.
4.
5.
使用proj4j
下面我们将演示如何使用proj4j库进行地理坐标的转换。假设我们有一个经纬度坐标(经度:116.404, 纬度:39.915),我们想要将其转换为北京54坐标系下的坐标。

import org.osgeo.proj4j.*;

public class CoordinateTransformation {

    public static void main(String[] args) {
      CRSFactory crsFactory = new CRSFactory();
      CoordinateReferenceSystem sourceCRS = crsFactory.createFromName("EPSG:4326"); // WGS 84
      CoordinateReferenceSystem targetCRS = crsFactory.createFromName("EPSG:2430"); // Beijing 54

      ProjCoordinate sourceCoord = new ProjCoordinate(116.404, 39.915);
      ProjCoordinate targetCoord = new ProjCoordinate();

      BasicCoordinateTransform transform = new BasicCoordinateTransform(sourceCRS, targetCRS);
      transform.transform(sourceCoord, targetCoord);

      System.out.println("北京54坐标系下的坐标:" + targetCoord.x + ", " + targetCoord.y);
    }
}
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
在上面的示例中,我们使用proj4j库创建了一个CoordinateTransformation类来进行地理坐标的转换。我们首先使用CRSFactory创建了源坐标系和目标坐标系,然后定义了一个源坐标(经度:116.404, 纬度:39.915)并创建了一个空的目标坐标。接着我们使用BasicCoordinateTransform进行坐标转换,并输出了转换后的北京54坐标系下的坐标。
-----------------------------------
网上找的介绍

承易 发表于 2024-7-12 10:02:06

// 引入proj4j库
dependencies {
    implementation files('lib/proj4j.jar')
}

// 代码示例
import org.proj4j.*;

public class Proj4jExample {
    public static void main(String[] args) {
      // 创建CRS对象
      CoordinateReferenceSystem sourceCRS = new CoordinateReferenceSystem("EPSG:4326");
      CoordinateReferenceSystem targetCRS = new CoordinateReferenceSystem("EPSG:3857");
      
      // 创建转换器
      CoordinateTransform transform = new CoordinateTransform(sourceCRS, targetCRS);
      
      // 进行坐标转换
      ProjCoordinate srcCoord = new ProjCoordinate(118, 32);
      ProjCoordinate targetCoord = new ProjCoordinate();
      transform.transform(srcCoord, targetCoord);
      
      // 输出结果
      System.out.println("转换后的坐标为:(" + targetCoord.x + ", " + targetCoord.y + ")");
    }
}

网上找的 咋弄到火山里
页: [1]
查看完整版本: @沉默流星,大佬 绐个安卓封装例子参考一下吧