问题标签 [geography]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2859 浏览

sql - 确定一个 POINT 是否位于 LINESTRING 上的两个其他 POINT 之间(SQL Server 2008 Geography)

我的数据库中有一个 SQL Server 2008GEOGRAPHY数据类型,其中包含LINESTRING. LINESTRING描述了一条可能弯曲的道路。

GEOGRAPHY POINT我有另一个表,其中包含在路上的起点和终点。我需要知道第三个点是否位于道路上的这两个点之间(LINESTRING)。

目前,我正在测试:

  • 第三点在线
  • 新点到起点的距离和新点到终点的距离都小于起点和终点的距离

行得通,但如果道路自动掉头,它似乎真的不优雅根本不起作用!有没有可行的方法?

0 投票
2 回答
6376 浏览

geolocation - mapping latitude and longitude values onto an image

i'm trying to geocode values and map them to a satellite image of a city (new york city to be precise). i've successfully done this before using a geospatial image of the world, and then mapped/scaled longitude and latitude values from the max lat/lng range (-90,90 & -180,180) to the max width and hight of the image (0,width & 0,height) which worked perfectly. i'm a bit confused how to do this to just a map of a city.

currently, i have a hi-res satellite image of new york city, and have positioned it so that it perfectly aligns with the map of new york city on Google Maps (i'm using their API to geocode my locations). i've attempted to get the top/bottom latitude values and left/right longitude values of the satellite image i'm using, and tried to scale any longitude/latitude values that needed to be mapped onto the image within this range. however, this didn't seem to work. is there another method i could use so that it would be possible to dynamically map lat/lng coordinates onto a satellite image of new york city?

this is essentially the image that i would like to map onto: alt text

thanks.

0 投票
3 回答
1011 浏览

sql-server-2008 - SQL2008 中用于地理数据类型的距离算法

我想知道在地理数据类型上计算距离时 SQL2008 使用什么算法。

有几种这样的算法,如 Haversine 和 Vincenty,但是我没有找到 SQL2008 实际使用的参考。

0 投票
1 回答
85 浏览

search - 实现大规模分层、地理新闻搜索的正确方法是什么?

我工作的公司从事发送新闻稿的业务。我们希望让感兴趣的各方能够根据一系列标准搜索新闻稿,其中最重要的是位置。例如,某人可能会在“交通”主题下搜索发送到马萨诸塞州纽约市或邮政编码 89134、从政府机构发送的所有新闻。管他呢。

问题是,我们实际上已经发送了数十万份新闻稿。搜索缓慢而复杂。例如,发送到纽约皇后区的新闻稿应该出现在我上面提到的搜索中,即使它不是专门发送到纽约市的,因为皇后区是纽约市的一个子集。我们可能还想对查询实现“and”和“or”以及否定和文本搜索,以创建复杂的搜索。这些搜索还必须足够快才能用作动态 RSS 提要。

我真的对搜索理论一无所知,也不知道它是如何正确完成的。我们现在采用的方式是使用数据集市将版本发送到的位置存储在单个表中。但是,由于上面提到的子集,数据集市是巨大的,有数百万行。而且我们甚至还没有实施城市,美国大约有 50,000 个城市,这将成倍增加数据集市的规模,恐怕它不再起作用了。

无论如何,我意识到这不是一个简单的问题,也不会有“这样做”的答案。但是,我希望你们中的某个人能指出我正确的方向,在那里我可以了解如何进行大规模搜索?因为我真的对此一无所知。事实证明,这样的搜索引擎非常难以制作。谢谢!我知道一定有办法,因为如果 Google 可以搜索整个互联网,我们必须能够搜索我们自己的数据库 :-)

0 投票
2 回答
400 浏览

sql - 能够加入 MySQL 的行和表的合理数量是多少?

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

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

更新2:好吧,我撒谎了。使用适当的索引,上述查询可以正常工作。问题实际上是 order by 子句。请参阅下面的两个几乎相同的查询:唯一的区别是“order by m.sent_on desc”,它为查询增加了额外的 4 分 30 秒!此外,使用解释,通过使用文件排序添加订单,这一定是减慢速度的原因。但是,sent_on 是有索引的,那为什么不使用索引呢?我一定不能正确地制作索引。

0 投票
4 回答
5748 浏览

language-agnostic - 如何从开放的街道地图或谷歌地图中提取地理数据

我需要使用 openstreet 地图或谷歌地图从特定国家/地区检索所有城市名称。有可用的 API 吗?

或者有没有其他方法可以获得这个世界地理数据?

0 投票
2 回答
3009 浏览

c# - 对地理形状进行分组

我正在使用 Dundas Maps 并尝试绘制世界地图,其中国家被分组为特定于业务实施的区域。

我有世界上每个国家的形状数据(点和段)。我可以通过将区域内国家的所有点和段添加到新的区域形状来将国家组合成区域。

问题是国家边界线仍然出现在一个区域内,我想删除它们,以便只显示区域边界。

Dundas 多边形必须在同一点开始和结束。这是所有国家形状的情况。现在我需要一个算法,它可以:

  • 确定国家边界在区域边界处相交的位置,以便我可以加入区域边界段。
  • 确定哪些国家边界不是区域边界,以便我可以丢弃它们。
  • 对生成的区域点进行排序,以便它们按顺序描述形状边界。

下面是我到目前为止使用地图的地方。您可以看到仍然需要删除国家边界。例如,蒙古和中国之间的边界应该被丢弃,而蒙古和俄罗斯之间的边界应该被保留。

我需要保留区域边界的原因是区域颜色在传达信息方面很重要,但相邻区域可能是相同的颜色。地区可以改变以包括或排除国家,这就是为什么地区塑造必须是动态的。

编辑: 我现在知道我正在寻找的是多边形的联合。David Lean解释了如何使用 SQL Server 2008 中的空间函数来执行此操作,这可能是一种选择,但我的努力已经停止,因为生成的多边形联合非常复杂,以至于 SQL 将其截断为 43,680 个字符。我现在正在尝试找到解决方法或找到一种在代码中进行联合的方法。

区域地图

0 投票
1 回答
1626 浏览

database - 城市到大都市区

我有一个城市数据库(在美国和世界其他地方)。数据库条目是简单的文本字符串。目前,该数据库甚至包含小城市(人口 10,000)。我希望通过将城市分配到更大的地理\大都市区来使用更大规模的数据库。Google AdWords API 中的大都会区就是一个例子:

http://code.google.com/intl/iw-IL/apis/adwords/docs/developer/adwords_api_us_metros.html

但我使用其他数据库没有问题。

对于如何使用现有数据库\API 执行此操作的任何建议,我将不胜感激!

0 投票
4 回答
5008 浏览

mysql - 多个纬度/经度点的半径

我有一个程序,该程序将一组纬度/经度点作为输入。我需要对该数组进行检查,以确保所有点都在某个半径内。因此,例如,我允许的最大半径是 100 英里。给定一个纬度/经度数组(来自 MySQL 数据库,可能是 10 个点,可能是 10000 个),我需要弄清楚它们是否都适合半径为 100 英里的圆。

有点难过如何处理这个问题。任何帮助将不胜感激。

0 投票
1 回答
1934 浏览

sql-server-2008 - 使用 SQL Server 2008 地理类型的查询点

我有一个地理类型的表,我想运行查询以查找特定纬度/经度 25 英里内的所有行。查询会是什么样子来完成这个?