小编win*_*aed的帖子

如何将矢量图层坐标转换为Openlayers中的Map纬度和经度

我很困惑.我有一点意见:

x= -12669114.702301
y= 5561132.6760608
Run Code Online (Sandbox Code Playgroud)

我通过DrawFeature控制器在矢量图层上绘制了一个正方形.

这些数字似乎......呃...很大,但它们看起来很有效,因为如果我后来绘制一个具有相同点的正方形,它处于相同的位置,所以我认为它们必须是正确的.

问题是当我尝试将此点转换为纬度和经度时.

我正在使用:

map.getLonLatFromPixel(pointToPixel(points[0]));
Run Code Online (Sandbox Code Playgroud)

其中points [0]是几何Point,pointToPixel函数占据任意点并将其转换为像素(因为getLonLatFromPixel需要一个像素).它通过简单地获取点的x,并使其成为像素x,等等来实现这一点.

我得到的纬度和经度是以下顺序:

lat: -54402718463.864
lng: -18771380.353223
Run Code Online (Sandbox Code Playgroud)

这显然是错误的.我真的很困惑.我尝试使用以下方法投影此对象:

.transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
Run Code Online (Sandbox Code Playgroud)

但是我真的没有得到它,而且非常确定我做错了,无论如何.

我的代码在这里:http://pastie.org/909644

我有点不知所措.坐标似乎是一致的,因为我可以重复使用它们来获得相同的结果......但它们似乎比我在openLayers网站上看到的任何示例都要大......

latitude-longitude openlayers proj4js

21
推荐指数
1
解决办法
3万
查看次数

将Lat/Longs转换为X/Y坐标

我有纽约纽约市的Lat/Long值; 40.7560540,-73.9869510和地球的平面图像,1000像素×446像素.

我希望能够使用Javascript将Lat/Long转换为X,Y坐标,其中该点将反映位置.

因此X,Y坐标形成图像的左上角; 289,111

注意事项:

  1. 不要担心使用什么投影的问题,做出自己的假设或者使用你知道的工作
  2. X,Y可以形成图像的任何角落
  3. PHP中相同解决方案的奖励积分(但我真的需要JS)

javascript php maps coordinates proj4js

17
推荐指数
3
解决办法
2万
查看次数

试图从.NET字典中提取键列表

怀疑我的大脑今天不工作 - 我需要提取密钥列表等:

Dictionary<string, MyClass>  myDict;
List<String> myKeys = myDict.Keys;
Run Code Online (Sandbox Code Playgroud)

第二行无法编译,因为Keys属性返回"KeyCollection"类而不是键对象的列表<>.

.net c# dictionary

17
推荐指数
3
解决办法
3万
查看次数

墨卡托经度和纬度计算到裁剪地图上的x和y(英国)

我有这张图片:http://imgur.com/99tSz.png.英国地图(不包括南爱尔兰).

我已经成功地获得了经度和经度,并通过获取英国最左边的经度和最右经度并使用它们来确定将点放在地图上的位置,将其绘制到此地图上.

这是代码(用于Processing.js但可以用作js或任何东西):

// Size of the map
int width = 538;
int height = 811;
// X and Y boundaries
float westLong = -8.166667;
float eastLong = 1.762833;
float northLat = 58.666667;
float southLat = 49.95;

void drawPoint(float latitude, float longitude){

 fill(#000000);

 x = width * ((westLong-longitude)/(westLong-eastLong));
 y = (height * ((northLat-latitude)/(northLat-southLat)));

 console.log(x + ", " + y);
 ellipseMode(RADIUS);
 ellipse(x, y, 2, 2);    

}
Run Code Online (Sandbox Code Playgroud)

但是,我无法对这些值实施墨卡托投影.这些图很合理,但它们不够好,这个投影可以解决它.

我无法弄清楚该怎么做.我找到的所有例子都在解释如何为整个世界做这件事.是一个很好的示例资源,解释了如何实现投影,但我无法让它工作.

另一个资源是英国极端点,我获得了英国各地边界框的纬度和经度值.他们也在这里:

northLat = …
Run Code Online (Sandbox Code Playgroud)

javascript projection geolocation processing.js proj4js

16
推荐指数
5
解决办法
3万
查看次数

我在哪里可以找到在墨卡托投影中绘制美国所需的坐标?

所以我正在编写一个Javascript库,它采用x,y坐标并使用它们绘制美国地图.为此,我需要找到绘制每个状态所需的坐标数据.维基百科上的这个地图是我需要的一个很好的例子,因为SVG文件包含组成每个州的形状很好地标记:http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg

我还有一组我需要放在这张地图上的网站.由于我知道每个站点的纬度和经度,我可以使用它来在地图上的适当位置绘制每个站点.不幸的是,为了实现这一点,我的地图需要使用墨卡托投影,这样就可以轻松映射lat,long到x,y像素坐标.

我上面提到的维基百科地图使用了一些其他投影,所以我不能将它用于此目的.有没有人知道我在Mercator投影中哪里可以找到这种类型的地图数据?任何数据格式都可以,只要我能以编程方式获取用于绘制每个状态的坐标并识别哪些形状构成每个状态.

gis map-projections mercator proj4js

16
推荐指数
2
解决办法
5497
查看次数

使用具有L方法的平滑器来确定K-Means簇的数量

在应用L方法确定数据集中k-means聚类的数量之前,有没有人试图将更平滑的应用程序应用于评估指标?如果是这样,它是否改善了结果?或者允许更少数量的k-means试验,从而大大提高速度?您使用了哪种平滑算法/方法?

"L-Method"详述如下: 确定分层聚类/分段算法中的聚类/分段数,Salvador&Chan

这将计算一系列不同试验群集计数的评估指标.然后,为了找到膝盖(出现最佳簇数),使用线性回归拟合两条线.应用简单的迭代过程来改善膝盖拟合 - 这使用现有的评估度量计算,并且不需要重新运行k均值.

对于评估指标,我使用的是Dunns指数的简化版本的倒数.简化速度(基本上我的直径和簇间计算得到简化).倒数使得指数在正确的方向上工作(即,通常更好).

K-means是一种随机算法,因此通常会多次运行并选择最佳拟合.这非常有效,但是当您为1..N群集执行此操作时,时间会快速累加.因此,控制运行次数符合我的利益.整体处理时间可能决定我的实现是否实用 - 如果我无法加速,我可能会抛弃此功能.

algorithm cluster-analysis linear-regression k-means

16
推荐指数
1
解决办法
2047
查看次数

nltk语言模型(ngram)从上下文计算单词的概率

我使用Python和NLTK构建语言模型如下:

from nltk.corpus import brown
from nltk.probability import LidstoneProbDist, WittenBellProbDist
estimator = lambda fdist, bins: LidstoneProbDist(fdist, 0.2)
lm = NgramModel(3, brown.words(categories='news'), estimator)
# Thanks to miku, I fixed this problem
print lm.prob("word", ["This is a context which generates a word"])
>> 0.00493261081006
# But I got another program like this one...
print lm.prob("b", ["This is a context which generates a word"]) 
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.结果如下:

>>> print lm.prob("word", "This is a context which generates a word")
Traceback (most recent call last):
  File "<stdin>", …
Run Code Online (Sandbox Code Playgroud)

python nlp nltk

15
推荐指数
3
解决办法
2万
查看次数

如何将距离从度数转换为米?

我正在使用OpenLayers和一个普通的墨卡托地图,我试图通过在latlong中找到一个点网格来对边界框进行采样.bbox以latlon表示,例如

48.1388,-15.3616,55.2057,-3.9359
Run Code Online (Sandbox Code Playgroud)

我可以用度数定义距离(例如x:2.5,y:2.4)并从那里计算出点数.但我想用(例如50000)来表达这个距离,以便将它与用户心态联系起来(人们理解米,而不是度数).我怎样才能转换这个距离?我知道如何重新投射一个点,但不是距离.

谢谢你的任何提示!Mulone

transform openlayers haversine map-projections proj4js

14
推荐指数
2
解决办法
5万
查看次数

使用Open MPI运行并行程序时会发生分段错误

在我之前的帖子中,我需要在10台计算机之间分发pgm文件的数据.在Jonathan Dursi和Shawn Chin的帮助下,我整合了代码.我可以编译我的程序,但它有分段错误.我跑了但什么都没发生

mpirun -np 10 ./exmpi_2 balloons.pgm output.pgm

结果是

[ubuntu:04803] *** Process received signal ***
[ubuntu:04803] Signal: Segmentation fault (11)
[ubuntu:04803] Signal code: Address not mapped (1)
[ubuntu:04803] Failing at address: 0x7548d0c
[ubuntu:04803] [ 0] [0x86b410]
[ubuntu:04803] [ 1] /lib/tls/i686/cmov/libc.so.6(fclose+0x1a0) [0x186b00]
[ubuntu:04803] [ 2] ./exmpi_2(main+0x78e) [0x80492c2]
[ubuntu:04803] [ 3] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0x141bd6]
[ubuntu:04803] [ 4] ./exmpi_2() [0x8048aa1]
[ubuntu:04803] *** End of error message ***
--------------------------------------------------------------------------
mpirun noticed that process rank 1 with PID 4803 on node ubuntu exited on signal …
Run Code Online (Sandbox Code Playgroud)

valgrind mpi pgm segmentation-fault

14
推荐指数
1
解决办法
2万
查看次数

如何用Java编写GEOTIFF?

我想编写一个GEOTIFF,其中包含Java中的所有地理元数据.哪个库等最适合此目的?

java gis tiff geospatial geotiff

9
推荐指数
1
解决办法
5660
查看次数