我正在尝试在ASP.NET中开发一个页面,它将充当Google Map的tile-server
它将从数据库中提取一组纬度/经度点,然后在给定缩放级别(默认值:15)的情况下将它们渲染为透明背景上的小红点.
然后它将结果作为GIF类型的图像返回.
是否开发了任何算法或库,允许我采用这组纬度/经度并将其转换为一组2D像素坐标,给定缩放级别?
(这一切都是在服务器端完成的,因此我无法使用Google Maps API.)
更新:在Perl中找到了类似的代码示例:
http://blog.barros.ws/2009/03/06/convert-lat-lng-and-zoom-values-to-pixel-xy-on-a-map/
麻烦的是,我不知道Perl,也没有时间破解书籍并学习它.
任何人都可以帮我解读这个函数中发生的事情吗?
sub Google_Coord_to_Pix
{
my $value = shift ;
my $lat = shift ;
my $lng = shift ;
my @d = ( ) ;
my $e = 0 ;
$d[1] = sprintf("%0.0f", $$value{'bmO'} + $lng * $$value{'pixLngDeg'} ) ;
$e = sin($lat * $$value{'Wa'}) ;
if( $e > 0.99999 )
{
$e = 0.99999 ;
}
if( $e < -0.99999 )
{
$e = -0.99999 ;
}
$d[0] …Run Code Online (Sandbox Code Playgroud) 我创建了一个用于创建坐标矩阵的代码(如棋盘),它是以下内容:
createMatrix(N,M,R) :- creaMatriu(N,M,A), reversed(R,A).
creaMatriu(N,0,[T]) :- creafila(N,0,T),!.
creaMatriu(N,M,[T|C]) :- creafila(N,M,T), M1 is M-1, creaMatriu(N,M1,C).
creafila(0,M,[[M,0]]):-!.
creafila(N,M,[[M,N]|C]) :-N1 is N-1,creafila(N1,M,C).
reversed(A, B) :- reversed(B, [], A).
reversed([A|B], C, D) :- reverse(N,A),reversed(B, [N|C], D).
reversed([], A, A).
Run Code Online (Sandbox Code Playgroud)
我第一次执行它很顺利,但是当我增加矩阵的尺寸时,矩阵末端的"点"开始出现随着尺寸上升而递增一个坐标,如下所示:
?- createMatrix(1,1,R).
R = [[[0, 0], [0, 1]], [[1, 0], [1, 1]]] .
?- createMatrix(2,1,R).
R = [[[0, 0], [0, 1], [0, 2]], [[1, 0], [1, 1], [1, 2]]] .
?- createMatrix(2,2,R).
R = [[[0, 0], [0, 1], [0, 2]], [[1, 0], [1, …Run Code Online (Sandbox Code Playgroud) 我正在使用C#,我有两个list<AACoordinate>,其中这些列表中的每个元素用x,y和z表示空间中的3D点.
class AACoordinate
{
public int ResiNumber { get; set; }
public double x { get; set; }
public double y { get; set; }
public double z { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
每个列表可以包含2000个或更多点,我的目的是将list1的每个点与list2的所有点进行比较,如果距离小于特定的数字,我会记录它.目前我使用foreach将list1的每个元素与list2的所有元素进行比较.由于点数的原因,这很慢.你有什么建议让它快速吗?
我的循环是:
foreach (var resiSet in Program.atomList1)
{
foreach (var res in Program.atomList2)
{
var dis = EuclideanDistance(resiSet, res);
if (dis < 5)
temp1.Add(resiSet.ResiNumber);
}
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
我正在尝试学习OpenCV.我有关于单应性和极线几何的问题.
假设我使用cvFindHomography()函数计算单应性,使用两个静态图像匹配的特征点,两个摄像头来自两个不同的视点.
如果我重复使用单应矩阵从相机2拍摄的图像(左)中检测相机1(右)中的对应点是不对的(因为我知道左图像的'2d同质特征点x' = H.x在哪里x',x是右图像'2d对应的同质特征点和H单应矩阵)其中camera1和camera2中的2d点不用于计算单应矩阵?
我的意思是,我可以重复利用这两个摄像机的计算单应矩阵来找到任何不用于计算单应矩阵的图像的对应点吗?
当它被固定图像确定时,我使用哪个图像是否重要?或者我每次都要计算它?
我在现实生活中有以下项目设置:

雷达是静态的,这意味着它始终具有相同的位置.该A-Item可以移动,它的位置可以不管.从雷达我可以读取与雷达相关的坐标x和y坐标A.我编写了以下类来描述每个项目的位置:
public class Position {
public enum Direction {
EAST, WEST, NORTH, SOUTH
};
public final Direction latitudeDirection, longitudeDirection;
public final float latitude, longitude, altitude;
public Position(Direction latitudeDirection, Direction longitudeDirection,
float latitude, float longitude, float altitude) {
this.latitudeDirection = latitudeDirection;
this.longitudeDirection = longitudeDirection;
this.latitude = latitude;
this.longitude = longitude;
this.altitude = altitude;
}
public Position(float radarX, float radarY) {
// TODO: Implement the question here
this.altitude = Config.RADAR_POSITION.altitude;
}
}
class …Run Code Online (Sandbox Code Playgroud) 如何在Python中从2个GPS坐标计算速度、距离和方向(度)?每个点都有纬度、经度、时间。
我在这篇文章中找到了半正矢距离计算:
它还有一个用于速度和方向的 Java 版本,但它们是公制的,我需要 MPH,还有 Python 版本。
我正在尝试构建一个神经网络,该网络将 3d 网格的顶点位置作为输入,并输出内部两点的坐标。
出于测试目的,我有一个包含 20 个点的几何数据集,每个点在内部有两个点。
数据集的每个文件都包含等级 2 中顶点的坐标,对象的形状为 [3,20] 数组,结果点的形状为 [3,3]。
我已经建立了一个线性模型,但结果总是非常低 (0,16) ,如果我用 1000、100.000 或 500.000 训练它并不重要
import tensorflow as tf
import numpy as np
objList = np.load('../testFullTensors/objsArray_00.npy')
guideList = np.load('..testFullTensors/drvsArray_00.npy')
x = tf.placeholder(tf.float32, shape=[None, 60])
y_ = tf.placeholder(tf.float32, shape=[None, 6])
W = tf.Variable(tf.zeros([60,6],tf.float32))
b = tf.Variable(tf.zeros([6],tf.float32))
y = tf.matmul(x,W) + b
cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
train_step.run(feed_dict={x: objList, y_: guideList})
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
sess.run(tf.global_variables_initializer())
print …Run Code Online (Sandbox Code Playgroud) 我正在尝试从一个数据框计算测地距离,该数据框由四列经纬度数据组成,大约有 300 万行。我使用了 apply lambda 方法来完成它,但完成任务花了 18 分钟。有没有办法将矢量化与 NumPy 数组一起使用来加速计算?谢谢你的回答。
我使用 apply 和 lambda 方法的代码:
from geopy import distance
df['geo_dist'] = df.apply(lambda x: distance.distance(
(x['start_latitude'], x['start_longitude']),
(x['end_latitude'], x['end_longitude'])).miles, axis=1)
Run Code Online (Sandbox Code Playgroud)
更新:
我正在尝试这段代码,但它给了我错误:ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()。感谢有人可以提供帮助。
df['geo_dist'] = distance.distance(
(df['start_latitude'].values, df['start_longitude'].values),
(df['end_latitude'].values, df['end_longitude'].values)).miles
Run Code Online (Sandbox Code Playgroud) 我有一张来自地图一部分的真实比例的 8640x11520 像素的图像。我需要将我的 x, y 点转换为坐标,有人想知道吗?
var mapWidth = 8640;
var mapHeight = 11520;
var mapLatitudeStart = 28.349768989955244;
var mapLongitudeStart = -81.55803680419922;
var maxLatitude = 28.349806758250104;
var maxLongitude = -81.541128;
var pointNeedConversion = {'x': 4813.10 'y': 2674.84};
var pointLatitude = ??
Run Code Online (Sandbox Code Playgroud) 首先感谢您的帮助。
我正在用 Django 创建一个表单,它使用 OSMWidget 将坐标(多边形、线和点)保存到 PostgreSQL 数据库中的几何字段。它运行良好,我可以毫无问题地将信息保存在数据库中。当我使用 PgAdmin 进行查询时,我可以正确地看到 Leaflet 地图中显示的几何字段数据。
.
以下是我在 forms.py 中的一些内容:
from django import forms
from django_select2 import forms as select2_forms
from django.contrib.gis import forms as osmforms
from django.forms import ModelForm
from .models import Dataset
class SessionForm(forms.ModelForm):
at_choices = [(item.title, item.title) for item in Dataset.objects.all()]
key_choices = [(item.keywords_d, item.keywords_d) for item in Dataset.objects.all()]
uuid = forms.CharField(label='', max_length=10 , widget=forms.TextInput(attrs={'class': "form-control left-half"}))
title = forms.CharField(label='Title', max_length=65536 , widget=forms.TextInput(attrs={'class': "form-control full-size-field"}))
abstract = forms.CharField(label='Abstract', max_length=65536 , widget=forms.Textarea(attrs={'class': …Run Code Online (Sandbox Code Playgroud)