在ANSI SQL兼容数据库中存储纬度或经度数据时,哪种数据类型最合适?应该float使用,或decimal,或......?
我知道Oracle,MySql和SQL Server已经添加了一些专门用于处理地理数据的特殊数据类型,但我对如何将信息存储在"普通的"SQL数据库中感兴趣.
这个问题已经在SO的几个地方被问过了,但是我发现答案要么有点矛盾,要么"瘦"......所以我不确定再问一次是否会有所帮助,但是这里有.
谷歌"帮助"页面说谷歌团队在SO上保持"存在",所以如果你是谷歌家伙,请你明白这一点,如果你不喜欢也请说清楚,谢谢:)
那么,我想做什么......用户搜索一组位置.这些将用于形成旅行行程.我想取lat/lng和地址组件并将它们存储在我自己的数据库中,以便当另一个人在一些国家/地区,某些地方等使用搜索旅行时,我可以去寻找它们.
最大的问题是,条件条件是否允许这样做?让我担心的相关问题是......
10.1.3数据导出或复制的限制.
......剪...
(b)没有预先获取,缓存或存储内容.您不得预先获取,缓存或存储任何内容,但您可以存储以下内容:(i)有限数量的内容,以便在您暂时 (以下情况下)暂时提高Maps API实施的效果时超过30个日历日),...剪切...例如,您不得使用内容创建"地点"或其他本地列表信息的独立数据库.
我想做的事情会违反这一点.它听起来像我可能,但随后提出了问题,为什么我会使用谷歌地图这种应用程序?其他旅游网站似乎?!
我需要使用Bing Map服务,EF 5和SQL Server 2008对大量地址进行地理编码.我在SQL中使用地理数据类型,它转换为EF的DbGeography类型.
当我创建一个DbGeography对象时,就像这样
string point = string.Format("POINT({0} {1})",address.Longitude,address.Latitude);
address.Location = System.Data.Spatial.DbGeography.PointFromText(point, 4326);
Run Code Online (Sandbox Code Playgroud)
第二个参数调用"coordinateSystemId".究竟是什么?很多我看到用4326我是新来的空间数据,但我猜有一组明确的坐标系的例子吗?我似乎无法找到一个定义.
我有一个商店列表及其邮政编码.我需要做的是当用户在网页上输入邮政编码时,它会搜索数据库,然后找到与该邮政编码最接近的10.
我拥有的数据示例:
ID = 1
Store =Halfords
Address 1 =Unit 6b
Address 2 = Braidfute Retail Park
Address 3 = Lanark
Address 4 =South Lanarkshire
Postal Code = ML11 9AE
Lat = 55.6711692810059
Long = -3.77314400672913
Run Code Online (Sandbox Code Playgroud)
我能够将邮政编码转换为经度和纬度,我需要运行什么查询才能在ym表中找到10英里内的商店