的文档
- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;
Run Code Online (Sandbox Code Playgroud)
文件明确指出:
在前向地理编码请求的情况下,如果提供的信息产生多个可能的位置,则可以返回多个地标对象.
声明它返回一个地标数组.然而,即使我搜索我确定知道的物品有多个条目(好莱坞,华盛顿,丹麦,主要街道等)我总是只有一个条目.
有些人只是耸耸肩说使用谷歌API,但我担心请求限制.
是否有一些设置或黑客来解决这个问题,还是CLGeocoder简单地破坏了?
试图围绕django形式和django做事方式.我想创建一个基本的Web表单,允许用户输入地址并将该地址进行地理编码并保存到数据库中.
我创建了一个位置模型:
class Location(models.Model):
address = models.CharField(max_length=200)
city = models.CharField(max_length=100)
state = models.CharField(max_length=100, null=True)
postal_code = models.CharField(max_length=100, null=True)
country = models.CharField(max_length=100)
latitude = models.DecimalField(max_digits=18, decimal_places=10, null=True)
longitude = models.DecimalField(max_digits=18, decimal_places=10, null=True)
Run Code Online (Sandbox Code Playgroud)
并定义了一个表单:
class LocationForm(forms.ModelForm):
class Meta:
model = models.Location
exclude = ('latitude','longitude')
Run Code Online (Sandbox Code Playgroud)
在我看来,我正在使用form.save()保存表单.这可以工作并将地址保存到数据库中.
我创建了一个模块来对地址进行地理编码.我不确定django的做法是什么,但我想在我看来,在保存表单之前,我需要对地址进行地理编码并设置lat和long.保存前如何设置纬度和经度?
我知道Google会发布adwords的"都市圈".是否有从邮政编码到城域代码的转换器?我所指的地铁列表位于:http://code.google.com/apis/adwords/docs/developer/adwords_api_us_metros.html
我有一个数据库,其中包含一个邮政编码列表,其中包含纬度,经度,州,城市,州fips代码,时区等.我想扩展它并编写C#函数或TSQL(SQL Server 2008)功能,将街道,城市,州和拉链,并返回拉链+4.我已经搜索过高低,并且有许多程序可以做到,但似乎没有一个实际上让我看到他们已经做了什么,并根据自己的需要增强它.有谁知道一个开源解决方案可以做到这一点或指向我正确的方向,所以我可以制作一个开源版本?
Geocoder geocoder = new Geocoder(map.this,Locale.getDefault());
List<Address> list = geocoder.getFromLocation(geoLat, geoLng, 1);
Run Code Online (Sandbox Code Playgroud)
java.io.IOException:无法解析来自服务器的响应
我究竟做错了什么?
我很难理解OpenLayers使用的坐标系.
英国莱斯特大约是.
Latitude: 52.63973017532399
Longitude: -1.142578125
Run Code Online (Sandbox Code Playgroud)
但是要使用OpenLayers显示相同的位置,我必须使用:
Latitude: 6915601.9146245
Longitude: -125089.1967713
Run Code Online (Sandbox Code Playgroud)
例如:
var center = new OpenLayers.LonLat(-125089.1967713, 6915601.9146245);
var map = new OpenLayers.Map("demoMap");
map.addLayer(new OpenLayers.Layer.OSM());
map.setCenter(center, 12);
Run Code Online (Sandbox Code Playgroud)
这些显然不是Latitude-Longitude坐标,我需要考虑一些转换吗?
一个有效的例子是http://craig-russell.co.uk/demos/openlayers/so_map.html
对不起文本墙,但我解释了问题,包括数据,并提供一些代码:)
题:
我有一些气候数据,我想用R绘图.我正在使用不规则的277x349网格上的数据,其中(x =经度,y =纬度,z =观察).假设z是压力的量度(500 hPa高度(m)).我尝试使用包ggplot2在地图上绘制轮廓(或等压线),但由于数据的结构,我遇到了一些麻烦.
数据来自兰伯特共形投影上的规则,均匀间隔的277x349网格,对于每个网格点,我们具有实际的经度,纬度和压力测量值.它是投影上的常规网格,但如果我使用记录观测值的实际经度和纬度将数据绘制为地图上的点,我会得到以下结果:

我可以通过将最右边的部分向左翻译来使它看起来更好一点(也许这可以通过一些功能完成,但我手动完成)或忽略最右边的部分.这是右图翻译成左边的情节:

(旁边)为了好玩,我尽力重新应用原始投影.我有一些从数据源应用投影的参数,但我不知道这些参数是什么意思.另外,我不知道R如何处理投影(我确实阅读了帮助文件...),所以这个图是通过一些试验和错误产生的:

我尝试使用ggplot2中的geom_contour函数添加轮廓线,但它冻结了我的R.在对一小部分数据进行尝试之后,我发现在谷歌搜索之后ggplot抱怨因为数据是不规则的网格.我也发现这就是geom_tile无法正常工作的原因.我猜我必须使我的网格点均匀分布 - 可能是通过将其投影回原始投影(?),或者通过采样规则网格(?)或通过点之间的外推均匀地间隔我的数据(?).
我的问题是:
如何在地图上绘制轮廓(最好使用ggplot2)来绘制数据?
奖金问题:
如何将我的数据转换回Lambert共形投影上的常规网格?根据数据文件的投影的参数包括(mpLambertParallel1F = 50,mpLambertParallel2F = 50,mpLambertMeridianF = 253,角,La1 = 1,Lo1 = 214.5,Lov = 253).我不知道这些是什么.
如何将我的地图居中,以便不会剪切一侧(如第一张地图中)?
如何使地图的投影图看起来不错(没有不必要的地图部分)?我尝试调整xlim和ylim,但似乎在投影前应用了轴限制.
数据:
我将数据作为rds文件上传到Google云端硬盘上.您可以使用R中的readRDS函数读取文件.
lat2d:2d网格上观测的实际纬度
lon2d:2d网格上观测的实际经度
z500:观察到的高度(m),其中压力为500毫巴
dat:数据排列在一个漂亮的数据框中(对于ggplot2)
我被告知数据来自北美区域再分析数据库.
我的代码(远期):
library(ggplot2)
library(ggmap)
library(maps)
library(mapdata)
library(maptools)
gpclibPermit()
library(mapproj)
lat2d <- readRDS('lat2d.rds')
lon2d <- readRDS('lon2d.rds')
z500 <- readRDS('z500.rds')
dat <- readRDS('dat.rds')
# Get the map outlines
outlines <- as.data.frame(map("world", plot = FALSE,
xlim = c(min(lon2d), max(lon2d)),
ylim …Run Code Online (Sandbox Code Playgroud) 我使用谷歌地图API对地址进行地理编码,我需要在不同的字段中获取街道地址,城市,州和邮政编码.根据结果中返回的地址组件类型的文档,这是我的代码:
var address = "";
var city = "";
var state = "";
var zip = "";
geocoder.geocode( { 'address': inputAddress}, function(results, status){
if (status==google.maps.GeocoderStatus.OK){
// loop through to get address, city, state, zip
$.each(results[0].address_components, function(){
switch(this.types[0]){
case "postal_code":
zip = this.short_name;
break;
case "street_address":
address = this.short_name;
break;
case "administrative_area_level_1":
state = this.short_name;
break;
case "locality":
city = this.short_name;
break;
}
});
} else{ alert("Invalid Address"); }
});
Run Code Online (Sandbox Code Playgroud)
但是,当我输入地址时,似乎没有返回"street_address"; 相反,它作为单独的字段返回,通常是"street_number"和"route",偶尔还有其他字段(例如apt号码的"subpremise").请参阅文档中的地理编码结果示例.
如何获取包含与街道地址相关的任何字段的地址变量?对于文档中的示例,我想要"1600 Ampitheatre Parkway".
我有一个空间点数据框和一个空间多边形数据框.例如,我的多边形将是曼哈顿中每个块的多边形.分数是人,分散在各处,有时落在街道中间,不是多边形的一部分.
我知道如何检查多边形中是否包含一个点,但是如何将点分配给它们最接近的多边形?
## Make some example data
set.seed(1)
library(raster)
library(rgdal)
library(rgeos)
p <- shapefile(system.file("external/lux.shp", package="raster"))
p2 <- as(1.5*extent(p), "SpatialPolygons")
proj4string(p2) <- proj4string(p)
pts <- spsample(p2-p, n=10, type="random")
## Plot to visualize
plot(pts, pch=16, cex=.5,col="red")
plot(p, col=colorRampPalette(blues9)(12), add=TRUE)
Run Code Online (Sandbox Code Playgroud)

如何随机生成保留在特定国家/地区内的数千个地理坐标(长/纬度)?
这是我正在做的应用程序,我需要测试数据。我更喜欢 JSON 格式。
geocoding ×10
geolocation ×2
r ×2
c# ×1
clgeocoder ×1
contour ×1
django ×1
django-forms ×1
geospatial ×1
ggplot2 ×1
gis ×1
iphone ×1
javascript ×1
objective-c ×1
openlayers ×1
parsing ×1
polygons ×1
python ×1
random-data ×1
t-sql ×1
zipcode ×1