【发布时间】:2012-04-18 06:47:48
【问题描述】:
我是 GIS 应用程序的新手,但遇到了一个小问题。我正在尝试使用地理坐标绘制多边形,但我需要将这些坐标转换为点,然后才能使用它们绘制多边形。 我不知道如何将这些坐标转换为用于多边形的点。我昨天花了所有时间寻找如何做到这一点,但我真的还是不明白。 我尝试在 ms sql server 2008 中使用 geography 数据类型,但在检索多边形或转换后的坐标时找不到 java api。 请帮助我提供有关如何执行此操作的示例代码。
非常感谢大家!!!
这是我的代码。 '代码'
double earth=6371;
double focal=500;
double lat= 47.653 ;
double lon = -122.358 ;
double latitude = lat*Math.PI/180;
double longitude = lon*Math.PI/180;
double x = earth * Math.sin(latitude)*Math.cos(longitude);
double y = earth * Math.sin(latitude)*Math.sin(longitude);
double z = earth * Math.cos(latitude);
double projectedX = x*focal /(focal+z);
double projectedY = y * focal / (focal+z);
int magx = (int) Math.round(projectedX * 5);
int magy = (int) Math.round(projectedY *5);
System.out.println ("MAG X : "+magx);
System.out.println ("MAG Y : "+magy);
我只是将 d mag x 和 y 插入到我的多边形中,但什么也没有出现。
【问题讨论】:
-
搜索标题中的关键字,即“转换经度纬度点多边形”会发现很多可能的命中,其中许多是在 SO 上。为什么不调查这些并尝试削减一些代码,而不是有效地要求人们向您提供解决方案?
-
如果听起来我想被人喂,我很抱歉。但老实说,我对此做了很多研究。我只需要一个简单的解释,我可以在某个地方发布有关该问题的问题并获取方向。
-
“但老实说,我已经对此进行了很多研究。” 但请链接到线程并停止期望我们依赖一些随机陌生人的诚实今天刚加入这个网站(检查)。 更重要的是, 它还有助于向我们展示您所查看的内容,并帮助我们了解为什么它们不适合此用例。令人惊讶的是,SO 的人并不通灵(无论如何,他们中的大多数都不是)。 “我只需要一个简单的解释” 我敢打赌,您没有链接到的页面中有很多。 SO 不是一个“辅导我”的网站。
-
你好安德鲁。我尝试使用我在 SO 上找到的这段代码将经度和纬度转换为点,但我不知道我是否做得对,因为多边形没有绘制任何东西。这是我的代码。我正在使用电话,所以如果我不使用代码标签,请见谅。 '代码'
标签: java sql-server gis latitude-longitude