大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
地理位置经纬度在Mysql中用什么字段类型来存
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、虚拟主机、营销软件、网站建设、萧县网站维护、网站推广。
正常的做法是用nvarchar保存,应为google map,设置地点用String就可以了。
google.map({'center':'35.3232432434,139.32434234'})
复杂的计算,伟大的Google都已经做了。我们为什么还要再进行一次呢?
告诉我,你们为什么非得让自已那么纠结?难道人生最大的敌人永远都是自己。
1. 直接按字符串整个存进去就好;
2. 或者你把度分秒的数字分开,分别存到三个数字类型的字段
mysql两点间距,你也自己弄成函数\x0d\x0a\x0d\x0a公式如下,单位米:\x0d\x0a第一点经纬度:lng1 lat1\x0d\x0a第二点经纬度:lng2 lat2\x0d\x0around(6378.138*2*asin(sqrt(pow(sin(\x0d\x0a(lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*\x0d\x0apow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)\x0d\x0a\x0d\x0a例如:\x0d\x0aSELECT store_id,lng,lat,\x0d\x0aROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)\x0d\x0aAS\x0d\x0a juli\x0d\x0aFROM store_info\x0d\x0aORDER BY juli DESC\x0d\x0aLIMIT 316
建议你看下MongoDB数据库。
MongoDB提供了一种GEO数据类型,专门处理地理位置坐标的,跟你这个应用场景极其吻合。
另外你的坐标数量是海量的,用MySQL很难抗的住。
MySQL到千万级的数据量就很吃力了。
两种方式不同点在于前者把数据作为文件上传,后者是把NSData作参POST上传,觉得作为客户端,其实工作量都差不多,关键是后台了,另外,文件上传的好处就是能知道上传进度,后者的乱码,我不知道你怎么传的,反正base64编码后再上传是没问题的。