Questions tagged «gis»

15
查找两个纬度/经度点之间距离的最快方法
目前,我在mysql数据库中的位置不足一百万,所有位置都包含经度和纬度信息。 我试图通过查询找到一个点和许多其他点之间的距离。它并没有我想要的那么快,特别是每秒100次以上的命中。 是否有更快的查询,或者可能是比mysql更快的系统?我正在使用此查询: SELECT name, ( 3959 * acos( cos( radians(42.290763) ) * cos( radians( locations.lat ) ) * cos( radians(locations.lng) - radians(-71.35368)) + sin(radians(42.290763)) * sin( radians(locations.lat)))) AS distance FROM locations WHERE active = 1 HAVING distance < 10 ORDER BY distance; 注意:提供的距离以英里为单位。如果您需要公里,请使用6371代替3959。
227 mysql  location  gis 

9
在GIS服务中编写纬度和经度元组的首选顺序
处理GIS源代码时,通常需要编写纬度和经度坐标元组。 例如,在Google Maps链接(123、456)中: http://maps.google.com/maps/ms?msid=214518704716144912556.00046d7689a99e95b721c&msa=0&ll=123,456&spn=0.007996,0.026865 哪个是首选顺序(为什么?) 纬度,经度 经纬度 我已经看到两者都在各种系统中使用,并且希望找到一些证据可以与其他系统结合使用。 是否有标准做法,如果有,这是什么/它们是什么?


12
获取经纬度给定的当前点,距离和方位
给定一个现有的经度/纬度点,距离(以KM为单位)和方位角(以度为单位转换成弧度),我想计算新的经度/纬度。这个站点一遍又一遍地出现,但我只是无法找到适合我的公式。 上述链接采用的公式为: lat2 = asin(sin(lat1)*cos(d/R) + cos(lat1)*sin(d/R)*cos(θ)) lon2 = lon1 + atan2(sin(θ)*sin(d/R)*cos(lat1), cos(d/R)−sin(lat1)*sin(lat2)) 上面的公式适用于MSExcel,其中- asin = arc sin() d = distance (in any unit) R = Radius of the earth (in the same unit as above) and hence d/r = is the angular distance (in radians) atan2(a,b) = arc tan(b/a) …

5
GIS:PostGIS / PostgreSQL与MySql与SQL Server?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 编辑:我已经将Postgres与PostGIS一起使用了几个月,我很满意。 我需要分析几百万个地理编码的记录,每个记录都有经度和纬度。这些记录包含至少三种不同类型的数据,我将尝试查看每个集合是否会相互影响。 对于所有这些数据,哪个数据库最适合作为基础数据存储?这是我的愿望: 我熟悉DBMS。我在PostgreSQL方面最弱,但是我愿意学习是否其他所有功能都可以解决。 它与GIS查询配合得很好。Google搜索表明PostgreSQL + PostGIS可能是最强大的?至少很多产品似乎都在使用它。MySql的Spatial Extensions似乎比较少? 低成本。尽管SQL Server Express 2008 R2中DB的限制为10GB,但我不确定我是否要承受免费版本的这一限制和其他限制。 与Microsoft .NET Framework不具有对抗性。多亏了Connector / Net 6.3.4,MySql才能很好地运行C#和.NET Framework 4程序。它完全支持.NET 4的实体框架。尽管我不反对为Devart的dotConnect for PostgreSQL Professional Edition支付180美元,但我找不到与之相当的非商业PostgreSQL版本。 与R兼容。似乎所有这三个都可以使用ODBC与R通讯,因此可能不是问题。 我已经使用MySql进行了一些开发,但是可以根据需要进行更改。

1
R中GIS地图的自动标签放置
我正在R中使用sf软件包(和相关软件包)读取shapefile,并ggplot2(和朋友)进行绘图,从而制作GIS地图。效果很好,但是我找不到方法(自动/编程)为河流和道路等要素创建标签位置。这些特征通常是线串,形状不规则。参见所附图片,例如来自wikimedia的图片。 该ggrepel软件包可以自动标记点,效果很好,但是对于不是离散纬度/经度点的其他地理特征来说,这没有多大意义。 我可以想象通过在每个功能上单独放置单独的文本标签来做到这一点,但是我正在寻找更自动化的方法(如果可能)。我意识到这样的自动化不是一个小问题,但是它已经得到了解决(ArcGIS显然可以通过名为maplex的扩展来做到这一点,但是我无权使用该软件,因此我想继续R(如果可能)。 有人知道这样做的方法吗? MWE在这里: #MWE Linestring labeling library(tidyverse) library(sf) library(ggrepel) set.seed(120) #pick a county from the built-in North Carolina dataset BuncombeCounty <- st_read(system.file("shapes/", package="maptools"), "sids") %>% filter(NAME == "Buncombe") #pick 4 random points in that county pts_sf <- data.frame( x = seq(-82.3, -82.7, by=-0.1) %>% sample(4), y = seq(35.5, …
9 r  gis  spatial  sf  ggrepel 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.