【发布时间】:2017-06-29 12:27:36
【问题描述】:
是否可以同时为多个值运行命令 georoute?我正在运行以下行:
georoutei, hereid(BfSfwSlKMCPHj5WbVJ1g) herecode(bFw1UDZM3Zgc4QM8lyknVg) startxy(46.1761413,6.1393099) endxy(46.99382,6.94049) km
但是,我有超过 1000 个值(坐标)作为起点和终点。我想告诉 Stata,比如为变量的每个值替换 startxy 和 endxy。所以,我试图在一个循环中做到这一点,但它不起作用。有人能帮我吗?
我正在尝试这样做:
clear all
set obs 1000
set seed 1254
ssc install georoutei
gen x1 = 45 + int(40+1)*uniform()
gen xf = 46+ int(46+1)*runiform()
gen y1 = 6 + int(6+1)*runiform()
gen yf = 7 + int(7+1)*runiform()
georoutei, hereid(tKNXdBlaC1UoKDWAiJ4i) herecode(4SQsFZphiBfXL4xWa7SPgg)
startxy(3.4372222,-76.33376) endxy(3.7231,-76.525902) km
forvalue i=1(1)1000{
levelsof x1, local(startx)
levelsof xf, local(endf)
levelsof y1, local(starty)
levelsof yf, local(endy)
georoutei, hereid(tKNXdBlaC1UoKDWAiJ4i) herecode(4SQsFZphiBfXL4xWa7SPgg)
startxy(`startx',`starty') endxy(`endx',`endy')km
}
然后我需要在矩阵或类似的东西中记录行进距离,以便有一个包含此信息的新变量。我希望节省一点时间,而不必为每对坐标运行一堆线。
谢谢!
【问题讨论】:
-
你能发布你为循环尝试的内容吗?
-
你好马修,我已经编辑了帖子,也许这个问题更容易理解。