2024年11月10日,《中华人民共和国政府关于黄岩岛领海基线的声明》发布,同日黄岩岛领海基线示意图发布。外交部发言人就中国政府公布黄岩岛领海基点基线答记者问。发言人表示,划定并公布黄岩岛领海基线,是中国政府依法加强海洋管理的正常举措,符合国际法和国际惯例。菲律宾颁布所谓“海洋区域法”,企图以国内立法形式固化南海仲裁案非法裁决,把中国黄岩岛和南沙群岛大部分岛礁及相关海域非法纳入其海洋区域,严重侵犯中方在南海的领土主权和海洋权益。中方对此坚决反对,将继续依法采取一切必要措施,坚定捍卫国家领土主权和海洋权益。
试对如下表中的领海基线标志点按直线方式计算所围的黄岩岛的面积,精确至0.01平方公里。若将领海基线看成是连续光滑的曲线,则所计算出的黄岩岛的面积与前者有多大变化?
标志点 | 纬度 | 经度 | |
1 | 黄岩岛1 | 北纬15°08.1´ | 东经117°50.9´ |
2 | 黄岩岛2 | 北纬15°07.4´ | 东经117°50.8´ |
3 | 黄岩岛3 | 北纬15°07.0´ | 东经117°50.6´ |
4 | 黄岩岛4 | 北纬15°06.6´ | 东经117°50.2´ |
5 | 黄岩岛5 | 北纬15°06.1´ | 东经117°49.5´ |
6 | 黄岩岛6 | 北纬15°06.3´ | 东经117°44.2´ |
7 | 黄岩岛7 | 北纬15°07.3´ | 东经117°43.1´ |
8 | 黄岩岛8 | 北纬15°12.7´ | 东经117°42.6´ |
9 | 黄岩岛9 | 北纬15°13.1´ | 东经117°42.8´ |
10 | 黄岩岛10 | 北纬15°13.4´ | 东经117°43.3´ |
11 | 黄岩岛11 | 北纬15°13.5´ | 东经117°43.9´ |
12 | 黄岩岛12 | 北纬15°13.5´ | 东经117°44.4´ |
13 | 黄岩岛13 | 北纬15°09.6´ | 东经117°49.7´ |
14 | 黄岩岛14 | 北纬15°09.0´ | 东经117°50.4´ |
15 | 黄岩岛15 | 北纬15°08.5´ | 东经117°50.8´ |
16 | 黄岩岛1 | 北纬15°08.1´ | 东经117°50.9´ |
==============================分割线=====================================
这是一道计算方法(数值分析)的上机作业题目,需要根据所给的坐标差值拟合,题目所提供坐标为经纬度坐标点,需要先将原始经纬度坐标转换为可以方便进行数学运算的坐标,同时还需要考虑到所求面积非平面面积,而是具有一定的弧度的。运用《数值分析》教材中的知识,结合题目所进行的两种假设,第一种假设为领海基线标志点按直线方式连接,即该边界就是以给定数据点为折线的边界,采用分段线性差值方法;第二种假设将领海基线看成是连续光滑的曲线,即该边界是光滑曲线,采用三次样条差值方法。
==============================分割线=====================================
代码
假设一:分段线性差值
% -------------------------------------------------------------------------
% 计算方法上机1 黄岩岛领海基线 假设1标志点按直线方式连接
% -------------------------------------------------------------------------
% 原始经纬度数据(单位:度)
latitude = [15 + 8.1/60, 15 + 7.4/60, 15 + 7.0/60, 15 + 6.6/60, 15 + 6.1/60, ...
15 + 6.3/60, 15 + 7.3/60, 15 + 12.7/60, 15 + 13.1/60, 15 + 13.4/60, ...
15 + 13.5/60, 15 + 13.5/60, 15 + 9.6/60, 15 + 9.0/60, 15 + 8.5/60, ...
15 + 8.1/60]; % 纬度 (单位:度)
longitude = [117 + 50.9/60, 117 + 50.8/60, 117 + 50.6/60, 117 + 50.2/60, ...
117 + 49.5/60, 117 + 44.2/60, 117 + 43.1/60, 117 + 42.6/60, ...
117 + 42.8/60, 117 + 43.3/60, 117 + 43.9/60, 117 + 44.4/60, ...
117 + 49.7/60, 117 + 50.4/60, 117 + 50.8/60, 117 + 50.9/60]; % 经度 (单位:度)
% 使用分段线性插值
num_points = 100; % 插值后生成的点的数量
latitude_linear = linearInterpolation(1:length(latitude), latitude, num_points);
longitude_linear = linearInterpolation(1:length(longitude), longitude, num_points);
% 计算球面多边形面积
area_km2 = spherical_area(latitude_linear, longitude_linear);
% 输出结果
fprintf('黄岩岛的面积(球面计算,分段线性插值后):%.2f 平方公里\n', area_km2);
% 分段线性插值函数
function interp_values = linearInterpolation(x, y, num_points)
% 对经纬度进行分段线性插值
interp_values = interp1(x, y, linspace(min(x), max(x), num_points), 'linear'); % 'linear' 指定线性插值方法
end
% 球面多边形面积计算函数(使用 Haversine 公式)
function area_km2 = spherical_area(lat, lon)
R = 6371; % 地球平均半径,单位:千米
lat = deg2rad(lat); % 将纬度从度转换为弧度
lon = deg2rad(lon); % 将经度从度转换为弧度
n = length(lat); % 顶点数
area = 0; % 初始面积
for i = 1:n-1
% 计算每两个相邻点形成的球面三角形面积
delta_lon = lon(i+1) - lon(i);
area = area + (lon(i+1) - lon(i)) * (sin(lat(i+1)) + sin(lat(i)));
end
% 关闭多边形的循环(连接最后一个点和第一个点)
area = abs(area * R^2 / 2);
% 返回计算的面积,单位:平方公里
area_km2 = area;
end
运行即可得到结果。