标签: geography

选择区域内的地理点

我有一个SQL Server 2008表,其中包含一个geography数据类型的列.该值是一个点(纬度和经度).

如何查询表以返回位置在给定坐标的10公里半径范围内的所有行?

geography sql-server-2008

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

除了代理之外,怎么能绕过IP定位器呢?

我需要汇总一个关于根据IP地址限制特定国家内容的弱点的小简报.

除了使用位于其他国家/地区的代理服务器之外,您能想到绕过这样一个系统的另一种方法吗?

security geography ip-address

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

SQLServer空间查询返回错误在预期条件的上下文中指定的非布尔类型的表达式,在')'附近

我正在尝试学习如何使用新的SqlServer 2008管理的空间类型和方法(地理)对记录进行半径搜索以进行地理空间计算.我正在关注此网页上的示例:

http://msdn.microsoft.com/en-us/magazine/dd434647.aspx

我特意尝试这样做:

-- or declare POINT for "downtown Seattle"
-- 1609.344 meters per mile
DECLARE @Seattle geography = 'POLYGON(....)'; SELECT c.customerid FROM
 customer c WHERE c.geog.STIntersects(@Seattle.STBuffer(10 * 1609.344));
Run Code Online (Sandbox Code Playgroud)

但是,甚至在运行查询之前(或者当我运行查询时 - 编译和运行时错误)我收到以下错误消息:

An expression of non-boolean type specified in a context where a condition is expected, near ')'
Run Code Online (Sandbox Code Playgroud)

我真的很困惑.我没有做完全相同的查询(我使用自己的数据与地理列)但它几乎与样本相同.我正在运行Sql SErver 2008 SP2标准版64位.当我键入查询时,它使用intellisense作为STIntersection方法并显示(other_geography geography)样本,因此它知道该方法存在.我正在正确地关闭括号并用分号分隔表达式,但我无法弄清楚为什么我得到错误.谷歌搜索没有奏效.

有什么想法吗?

赛斯

syntax geography geospatial sql-server-2008

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

国家边界坐标数据

我正在用Java写一个地理游戏,我想得到一些关于国家边界位置的数据,但我能找到的只是shapefile,我无法从中获取纬度/经度数据,或者我只能找到每个国家的单一坐标.

我在哪里可以找到

  • 一种将经度/纬度数据提取为Java或文本文件中的可用数据的方法?
  • 一个可以在java程序中使用的国家边界免费数据的网站?

编辑:

它不需要准确; 对于除俄罗斯,中国,美国和巴西之外的任何东西,10个坐标可能就足够了.群岛也不重要.我只想知道能够相对准确地计算出两国之间的最短距离.

java gis geography shapefile

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

Sql Server空间数据类型几何,STDistance和单位:获取米?

我正在使用Sql server 2012和谷歌地图客户端,我使用SRID 3785,因为它是地图使用的mercator.我使用几何点数据类型来存储位置.我读几何比地理更快.但是当我试图计算点之间的距离时,特别是当我使用STDistance时,我会得到一个距离...以十进制度...这很棒..但我真的需要米来向用户显示它们......因此,当您知道自己的SRID时,当您确切知道地球上的哪个位置时,您如何将十进制度数的距离转换为米?我知道地理学处理仪表......但是如何从几何距离计算得到米?我真的很想知道开发人员在地理类型出现之前是怎么做的......谢谢!

sql-server geometry geography spatial geospatial

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

什么是能够加入MySQL的合理数量的行和表?

我有一张表将地点映射到邮政编码.例如,纽约州有大约2000个邮政编码.我有另一个表将邮件映射到它发送到的邮政编码,但这个表有大约500万行.我想找到发送到纽约州的所有邮件,这看起来很简单,但查询速度令人难以置信.我甚至无法等待足够长的时间才能完成.问题是有500万行吗?我不禁想到,如今计算机上的500万不应该是这么大的数字......哦,一切都被编入索引.SQL只是不是设计用于处理如此大的连接?

更新:正如人们所问,我已经用表定义和我正在使用的查询更新了这个问题.

-- Roughly 70,000 rows
CREATE TABLE `mail_zip` (
  `mail_id` int(11) default NULL,
  `zip` int(11) default NULL,
  KEY `index_mail_zip_on_mail_id` (`mail_id`),
  KEY `index_mail_zip_on_zip` (`zip`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

-- Roughly 5,000,000 rows
CREATE TABLE `geographies` (
  `city_id` int(11) default NULL,
  `postal_code` int(11) default NULL,
  KEY `index_geographies_on_city_id` (`city_id`),
  KEY `index_geographies_on_postal_code` (`postal_code`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

-- Query
select mz.mail_id from mail_zip mz join geographies g on mz.zip = g.postal_code where g.city_id = 36 limit 10;
Run Code Online (Sandbox Code Playgroud)

更新2:好的,我撒了谎.使用正确的索引,上面的查询工作正常.问题实际上是order by子句.请参阅下面两个几乎相同的查询:唯一的区别是"按m.sent_on desc排序",这为查询增加了额外的4分30秒!此外,使用说明,通过使用文件输入添加顺序,这必须是减慢它的速度.但是,sent_on被编入索引,为什么不使用索引呢?我不能正确地制作索引.

-- Roughly 350,000 …
Run Code Online (Sandbox Code Playgroud)

mysql sql geography join

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

如何使用 sf 包根据特征属性绘制半径为圆的圆?

我有这些代表地图上坐标的数据以及每个点的值:

require(tidyverse)

df <- tribble(     ~ x,      ~ y,   ~ N,
               776025., 6990858.,   100,
               744220 , 6940666.,    75,
               774222., 6904024.,    55,
               719368., 6973708.,    30,
               735330., 7029420.,     1)
Run Code Online (Sandbox Code Playgroud)

使用该sf包,我成功地从xy列创建了几何特征:

require(sf)
(geom_column <- st_sfc(pmap(df[, 1:2], function(x, y) st_point(c(x, y)))))
Run Code Online (Sandbox Code Playgroud)

然后将这些几何特征与对象N中的属性特征组合起来sf

(df <- st_sf(df[, 3], geometry = geom_column))
Run Code Online (Sandbox Code Playgroud)

然后我可以绘制这 5 点:

plot(df)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

现在我想使用半径与N属性成比例的圆,而不是默认的色标。但我不知道该怎么做。

geography r r-sf

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

将鼠标悬停在地图上时,如何使地图区域改变颜色?

我正在使用codecanyon 的交互式地图.我想进行更改,以便当鼠标悬停在选定区域时,所选区域会改变颜色.我部署了一个示例,其中这是执行此操作的代码.

<script type='text/javascript' src='http://www.google.com/jsapi'></script>
<script type='text/javascript'>google.load('visualization', '1', {'packages': ['geochart']});
google.setOnLoadCallback(drawVisualization);

  function drawVisualization() {var data = new google.visualization.DataTable();

 data.addColumn('string', 'Country');
 data.addColumn('number', 'Value'); 
 data.addColumn({type:'string', role:'tooltip'});var ivalue = new Array();

 var options = {
 backgroundColor: {fill:'#FFFFFF',stroke:'#FFFFFF' ,strokeWidth:25 },
 colorAxis:  {minValue: 0, maxValue: 0,  colors: []},
 legend: 'none',    
 backgroundColor: {fill:'#FFFFFF',stroke:'#FFFFFF' ,strokeWidth:25 },   
 datalessRegionColor: '#ffc801',
 displayMode: 'regions', 
 enableRegionInteractivity: 'true', 
 resolution: 'provinces',
 sizeAxis: {minValue: 1, maxValue:1,minSize:10,  maxSize: 10},
 region:'IN',
 keepAspectRatio: true,
 width:600,
 height:400,
 tooltip: {textStyle: {color: '#444444'}, trigger:'focus', isHtml: false}   
 }; …
Run Code Online (Sandbox Code Playgroud)

javascript geography

0
推荐指数
1
解决办法
2304
查看次数

分组/装箱纬度和经度

这比技术上的问题更具逻辑性。因此,请您不要对其进行标记。

我想在python中编写一个方法,该方法需要两个参数->纬度和经度。此方法应返回组/存储桶。分组应基于0.05度进行。

def get_bucket(lat,lng):
  #body
Run Code Online (Sandbox Code Playgroud)

例如:

get_bucket(1.05,1.05)-> b1 get_bucket(1.05,1.03)-> b1

因此,就像假设地球被划分为0.05度网格正方形,而落在该正方形中的任何经/纬度共享同一桶。

python algorithm geography geo latitude-longitude

0
推荐指数
1
解决办法
941
查看次数