楼主: Lee_iris
2102 6

[编程问题求助] stata cngcode 批量获取地址的经纬度 空缺值 [推广有奖]

已卖:1253份资源

教授

47%

还不是VIP/贵宾

-

威望
0
论坛币
1167 个
通用积分
1196.5565
学术水平
36 点
热心指数
43 点
信用等级
35 点
经验
14504 点
帖子
893
精华
0
在线时间
1517 小时
注册时间
2019-3-5
最后登录
2026-1-4

楼主
Lee_iris 在职认证  学生认证  发表于 2022-10-5 20:24:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想要得到地级市的经纬度,由此计算地级市之间的距离,先用cngcode批量获取地址的经纬度,

  1.   cngcode, baidukey(key) province(startProvince) city(city)   lat(startlat) long(startlong)
复制代码


但得到的是空值,看到也有类似的提问,没有直接的回答,但里面涉及两个链接,https://mp.weixin.qq.com/s/zbZFOxom5JvuOorVQkUj2ghttps://www.sohu.com/a/380332422_169228,可以参考,这个命令看起来还是挺强大的。
申请密匙需要自己的ip地址加入白名单,自己的ip地址怎么找可以参考:https://baijiahao.baidu.com/s?id ... 8&wfr=spider&for=pc
猜想是因为没有街道和地址的原因,但数据级别只有地级市,所以加了一列地址到人民政府,然后令街道为空值,https://www.jianshu.com/p/89cd020d4030,从这里看到街道可以是空值。

  1. gen start_addr="人民政府"
  2. gen dis=""
复制代码



命令改为:

  1. cngcode, baidukey(key) province(startProvince) city(city) district(dis) address(start_addr) lat(startlat) long(startlong)
复制代码


得到的还是空值,还可能存在的问题是,在百度地图申请密匙的时候,创建应用应该选择的服务类型不知道应该是浏览器端、服务端、AndroidSDK还是其他。

看了百度的服务介绍https://lbsyun.baidu.com/index.php?title=webapi,应该就是服务端,用到的功能是地理编码。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata code tata ODE CNG

沙发
Lee_iris 在职认证  学生认证  发表于 2022-10-6 15:04:05
应该是ip地址没设置对的问题,直接在百度搜ip,出来的那个加入白名单就行。百度地图开放平台的控制台有显示访问应用(AK)的使用次数,有配额,之前一直是显示没有使用,所以感觉有问题,ip搞对以后就ok了,个人认证的开发者每天有5k的配额。

藤椅
Lee_iris 在职认证  学生认证  发表于 2022-10-6 16:02:30
cntraveltime算出来的结果还是经常有空缺值,主要为四川省、新疆、西藏、甘肃、青海的自治州、地区、市未匹配到距离信息。

板凳
Lee_iris 在职认证  学生认证  发表于 2022-10-6 16:07:38
cntraveltime的命令语法和例子有点出入,和网上的经验贴也有点出入,可能是版本更新没跟上。基本命令可以是:

  1. cntraveltime,baidukey(string) ///
  2.         startlat(LATB) startlng(LNGB)  endlat(endLATB) endlng(endLNGB)
复制代码


help文件里的语法cntraveltime, baidukey(string) start_lat(varname) start_long(varname)  end_lat(varname) end_long(varname) [options] 也有点问题。https://bbs.pinggu.org/thread-7950445-1-1.html这里介绍的transport(string)不能用, 而是用mode(string)选择出行方式,默认是public出行。

报纸
yanghan77777 发表于 2022-12-6 21:02:19
Lee_iris 发表于 2022-10-6 15:04
应该是ip地址没设置对的问题,直接在百度搜ip,出来的那个加入白名单就行。百度地图开放平台的控制台有显示 ...
楼主请教一下,这个百度搜ip是什么意思,ip不是全部不做限制就行了吗

地板
DejaVuDarren 学生认证  发表于 2023-7-5 22:19:43
  1. clear all
  2. local bdk 2MLxfED7K7s5D0zcHwY9U4nDFF6cTr46
  3. input str15 prov str15 city str20 county str100 address

  4. "河南省" "开封市" "顺河回族区" "河南大学明伦校区"
  5. "河南省" "开封市" "顺河回族区" "明伦街85号"
  6. "湖北省" "武汉市" "武昌区" "武汉大学经济管理学院"
  7. "湖北省" "武汉市" "武昌区" "八一路299号"

  8. end

  9. gen fulladdress = prov+city+county+address

  10. cngcode, baidukey(`bdk') province(prov) city(city) ///
  11.    district(county) address(address)
复制代码


IP也设置过了,cngcode的返回结果还是报错这个
option baidukey() required
r(198);

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-1 00:50