我有这个功能(将 WGS84 大地水准面的坐标转换为笛卡尔坐标......没关系):
function convert_geo_to_enu(coord_geo) { \
xi=sqrt(1 - e*e*sin(coord_geo[1])*sin(coord_geo[2])); \
\
coord_enu[1]=(a/xi + coord_geo[3])*cos(coord_geo[1])*cos(coord_geo[2]); \
print coord_enu[1] " hhh " ; \
coord_enu[2]=(a/xi + coord_geo[3])*cos(coord_geo[1])*sin(coord_geo[2]); \
coord_enu[3]=(a*(1-e*e)/xi0 + coord_geo[3])*sin(coord_geo[1]); \
\
return coord_enu \ # <-- here comes the problem
} \
problem --> mawk: line 64: illegal reference to array coord_enu
作为数组返回有什么问题?有什么不同的语法吗?
我可以使用:
function convert_geo_to_enu(coord_geo, coord_enu) { \
...
coord_enu[1]=...
...
} \
甚至:
function convert_geo_to_enu(coord_geo) { \
...
coord_enu[1]=...
...
} \
然后只是将变量coord_enu
用作全局变量?
但是使用 return 语句看起来更好(尤其是对我来说)