我正在尝试对值进行地理编码,并将它们映射到城市的卫星图像(准确地说是纽约市).我在使用世界地理空间图像之前已成功完成此操作,然后将最大纬度/经度范围(-90,90和-180,180)中的经度和纬度值映射/缩放到图像的最大宽度和高度( 0,宽度和0,高度)完美的工作.我有点困惑如何做到这只是一个城市的地图.
目前,我有一个纽约市的高分辨率卫星图像,并将其定位,以便与Google地图上的纽约市地图完美对齐(我正在使用他们的API对地理位置进行地理编码).我试图获取我正在使用的卫星图像的上/下纬度值和左/右经度值,并尝试缩放需要映射到该范围内的图像上的任何经度/纬度值.然而,这似乎不起作用.我可以使用另一种方法,以便可以将lat/lng坐标动态映射到纽约市的卫星图像上吗?
这基本上是我想要映射到的图像: alt text http://i50.tinypic.com/15oxog8.jpg
谢谢.
无论哪种服务都可以实现简单的100个地理转码请求(从街道地址到地理编码),这将是理想的选择.我知道谷歌地图每天允许15000,但它是用Javascript编写的.我想知道我是否能用一种至少允许数据库连接的语言编写.
我需要在地图上绘制大约1600个地址.我不想在运行时进行地理编码,因为我认为这需要太长时间.相反,我想提前对地址进行地理编码,将其Lat/Long值添加到表中,并在运行时从表中读取.不幸的是,我无法弄清楚如何/在哪里对一批地址进行地理编码.你们其中一个人会向我解释和/或指向一个好的教程吗?
提前致谢.
我的公司正在使用 Google Maps API 为我们的产品提供安装程序定位器。直到现在,当我在海峡群岛(英国)上添加安装程序时,一切都很顺利。有什么办法可以让 Google Maps API 为我识别这些位置?
我只是想知道是否有人可以解释为什么我看到谷歌地图服务的403 Forbidden错误.
我一直在加载地图api:
<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?libraries=places&sensor=false"></script>
Run Code Online (Sandbox Code Playgroud)
然后使用地理编码和自动完成库将用户搜索转换为坐标,以在我的搜索结果的地图上显示.
直到昨天,当我访问自动完成服务时,我开始看到403错误,这是完美的(几个月).
我100%自信我没有达到每天25k的查询限制,而且我没有对我进行任何代码更改.
我现在已经在我的脚本加载中添加了一个API密钥,问题消失了,但我想确保这不会再次发生.基于位置的搜索是我们网站的主要功能,如果它破裂,我们会失去客户.
有没有人知道为什么会发生这种情况?
在什么情况下会再次发生?
我知道我可以得到这样的用户IP地址:
remote_ip = request.remote_ip
Run Code Online (Sandbox Code Playgroud)
现在我想知道如何从他的IP地址找出用户的国家和城市?我发现这只买国家:
http://api.hostip.info/country.php
Run Code Online (Sandbox Code Playgroud)
城市可以这样找到:
http://api.hostip.info
Run Code Online (Sandbox Code Playgroud)
问题是它没有正确显示城市.我目前在世界上最大的城市之一,它说这是一个未知的城市.
从他的IP地址中找出用户所在国家和城市的最佳方法是什么?我正在寻找一个免费的解决方案或至少非常便宜的东西.
谢谢 :)
我正在尝试获取纽约地区经纬度坐标的邮政编码
我尝试使用来自 google 的反向地理编码器 API,但它每天限制为 2500 次点击,因此可以批量处理我的数据帧。
接下来,我尝试使用带有数据集邮政编码的库(邮政编码),但无法将纬度经度与火车数据集的坐标相匹配,因为所有经纬度坐标都不在数据集中。
进一步虽然使用 KNN 预测数据集的邮政编码,但无法获得正确的结果。
zipcode_latlon = zipcode[zipcode$state=="NY",c(1,4,5)]
train_latlon = train_data[,c("latitude","longitude")]
zip1 = rep(10007, nrow(train_latlon))
zip1 = as.character(zip1)
train_latlon = cbind(zip1, train_latlon)
colnames(train_latlon) = c("zip","latitude","longitude")
knn_fit = knn(zipcode_latlon, train_latlon,zipcode_latlon$zip, k=1)
Run Code Online (Sandbox Code Playgroud)
需要知道如何从 lat long 批量获取邮政编码,任何方法在 R 中都很好。
下面是我目前使用的代码,我将地址传递给函数,Nominatim API 应该返回一个 JSON,我可以从中检索地址的纬度和经度。
function geocode($address){
// url encode the address
$address = urlencode($address);
$url = 'http://nominatim.openstreetmap.org/?format=json&addressdetails=1&q={$address}&format=json&limit=1';
// get the json response
$resp_json = file_get_contents($url);
// decode the json
$resp = json_decode($resp_json, true);
// get the important data
$lati = $resp['lat'];
$longi = $resp['lon'];
// put the data in the array
$data_arr = array();
array_push(
$data_arr,
$lati,
$longi
);
return $data_arr;
}
Run Code Online (Sandbox Code Playgroud)
它的问题是我总是以内部服务器错误告终。我检查了日志,并且不断重复:
[[DATE] America/New_York] PHP Notice: Undefined index: title in [...php] on line [...]
[[DATE] America/New_York] PHP Notice: Undefined …
我正在研究从GEOTiff文件中检测对象并返回对象坐标的项目,这些输出将用于无人机飞到那些坐标
我使用tensorflow和YOLO v2(图像检测器框架)和OpenCV来检测我在GEOTiff中需要的对象
import cv2
from darkflow.net.build import TFNet
import math
import gdal
# initial stage for YOLO v2
options = {
'model': 'cfg/yolo.cfg',
'load': 'bin/yolov2.weights',
'threshold': 0.4,
}
tfnet = TFNet(options)
# OpenCV read Image
img = cv2.imread('final.tif', cv2.IMREAD_COLOR)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
#Predict the image
result = tfnet.return_predict(img)
#Calculate the center and radius of each objects
i = 0
while i < len(result):
tl = (result[i]['topleft']['x'], result[i]['topleft']['y'])
br = (result[i]['bottomright']['x'], result[i]['bottomright']['y'])
point = (int((result[i]['topleft']['x']+result[i]['bottomright']['x'])/2), int((result[i]['topleft']['y']+result[i]['bottomright']['y'])/2))
radius = int(math.hypot(result[i]['topleft']['x'] …Run Code Online (Sandbox Code Playgroud) 我有一个~17,000 lat/ lon值的数据框,我希望使用它来获取和填充具有等效状态的新列.
到目前为止,我已经尝试了其他Stack Overflow答案中提出的几个解决方案(这里列出的太多,但超过十个),但没有一个对我有用.
我最接近找到解决方案是使用该ggmap软件包,但问题是我被警告我已超出限制,尽管只发送一个lat/ lon值.
我有个人lat和lon价值观,甚至将它们组合成lat,lon格式,尽管如此,上述解决方案都不适用于我.
我想要做的是从给定lat/lon/ coord值确定状态并将状态保存在新列(df$state)中.
我最初匹配所有城市值以获得匹配状态,但问题在于,由于多个州包含具有相同名称的城市,因此匹配过程在第一次成功匹配后停止; 结果,我发现自己有超过2,800个属于AK的城市,尽管它们几千英里之外.
任何建议都会很棒.
这里是前100行coords,lat和lon列我的数据:
structure(list(origin_coords = c("31.9618,-83.0588", "44.8782,-69.4718",
"37.3894,-121.8868", "36.0485,-93.5044", "37.652,-120.7292",
"33.7942,-84.2018", "32.0749,-81.0883", "31.0286,-97.6115", "40.7559,-111.8967",
"39.8359,-91.7538", "35.922,-80.537", "39.8036,-75.0058", "43.072,-83.8424",
"33.5207,-86.8025", "26.1216,-80.1288", "31.9618,-83.0588", "31.9618,-83.0588",
"61.6303,-149.8181", "33.8687,-84.3351", "42.2196,-88.2426",
"31.7943,-85.5581", "28.3067,-80.6862", "39.1157,-94.6271", "33.831,-85.7752",
"39.2655,-76.4935", "32.9824,-87.7919", "61.6303,-149.8181",
"31.086,-85.7192", "31.9618,-83.0588", "39.9048,-75.2946", "34.1132,-117.3771",
"41.905,-71.1026", "42.3921,-97.4751", "31.2627,-86.7711", "42.5864,-71.4401",
"33.7935,-93.807", "39.0097,-123.6523", "61.6303,-149.8181",
"37.7235,-85.9769", "38.0624,-87.2452", …Run Code Online (Sandbox Code Playgroud) geocoding ×10
geolocation ×2
google-maps ×2
r ×2
dataframe ×1
gdal ×1
geography ×1
geotiff ×1
gis ×1
ip-address ×1
json ×1
nominatim ×1
php ×1
python ×1