intersectgc#
[latint1, lonint1, latint2, lonint2, latintn, lonintn, latints, lonints, latinte, loninte, latintw, lonintw] = intersectgc(lat1, lon1, lat2, lon2, lat3, lon3, lat4, lon4, dispout)
Description#
Find intersection point between two line segments (line edges) on Great Circle
Inputs#
- lat1
Latitude (y) of start point of first segment as (lon1,lat1) in (Degree)
- lon1
Longitude (x) of start point of first segment as (lon1,lat1) in (Degree)
- lat2
Latitude (y) of end point of first segment as (lon2,lat2) in (Degree)
- lon2
- Longitude (x) of end point of first segment as (lon2,lat2) in (Degree)First segment: p1(lon1,lat1) to p2(lon2,lat2)
- lat3
Latitude (y) of start point of second segment as (lon3,lat3) in (Degree)
- lon3
Longitude (x) of start point of second segment as (lon3,lat3) in (Degree)
- lat4
Latitude (y) of end point of second segment as (lon4,lat4) in (Degree)
- lon4
- Longitude (x) of end point of second segment as (lon4,lat4) in (Degree)Second segment: p3(lon3,lat3) to p4(lon4,lat4)
- dispout=’no’;
Define to display outputs or not (‘yes’: display, ‘no’: not display)
Outputs#
- latint1
Latitude of first intersection point between two segments in (Degree)
- lonint1
Longitude of first intersection point between two segments in (Degree)
- latint2
Latitude of second intersection point between two segments in (Degree)
- lonint2
- Longitude of second intersection point between two segments in (Degree)Two path on sphere have two intesections on opposite side of sphere(latint1,lonint1) and (latint2,lonint2) are antipodes of each other
- latintn
Latitude of intersection point between two segments in Northern Hemisphere in (Degree)
- lonintn
Longitude of intersection point between two segments in Northern Hemisphere in (Degree)
- latints
Latitude of intersection point between two segments in Southern Hemisphere in (Degree)
- lonints
Longitude of intersection point between two segments in Southern Hemisphere in (Degree)
- latinte
Latitude of intersection point between two segments in Eastern Hemisphere in (Degree)
- loninte
Longitude of intersection point between two segments in Eastern Hemisphere in (Degree)
- latintw
Latitude of intersection point between two segments in Western Hemisphere in (Degree)
- lonintw
Longitude of intersection point between two segments in Western Hemisphere in (Degree)
Examples#
%Segment 1:
lat1=-90;
lon1=0;
lat2=90;
lon2=0;
%Segment 2:
lat3=0;
lon3=-90;
lat4=0;
lon4=90;
[latint1,lonint1,latint2,lonint2,latintn,lonintn,latints,lonints,latinte,loninte,latintw,lonintw]=intersectgc(lat1,lon1,lat2,lon2,lat3,lon3,lat4,lon4,'yes');
%Segment 1:
lat1=29.079710;
lon1=-90.457758;
lat2=29.344989;
lon2=-90.476782;
%Segment 2:
lat3=29.190111;
lon3=-90.598023;
lat4=29.206355;
lon4=-90.337782;
[latint1,lonint1,latint2,lonint2,latintn,lonintn,latints,lonints,latinte,loninte,latintw,lonintw]=intersectgc(lat1,lon1,lat2,lon2,lat3,lon3,lat4,lon4,'yes');
%latint1 = -29.198
%lonint1 = 89.534
%latint2 = 29.198
%lonint2 = -90.466
%Segment 1:
lat1=47.94713;
lon1=-131.211073;
lat2=24.207076;
lon2=-83.815088;
%Segment 2:
lat3=28.257645;
lon3=-95.964404;
lat4=28.343359;
lon4=-42.233815;
[latint1,lonint1,latint2,lonint2,latintn,lonintn,latints,lonints,latinte,loninte,latintw,lonintw]=intersectgc(lat1,lon1,lat2,lon2,lat3,lon3,lat4,lon4,'yes');
%latint1 = 29.396
%lonint1 = -89.930
%latint2 = -29.396
%lonint2 = 90.070
%Segment 1:
lat1=[29.079710;47.94713];
lon1=[-90.457758;-131.211073];
lat2=[29.344989;24.207076];
lon2=[-90.476782;-83.815088];
%Segment 2:
lat3=[29.190111;28.257645];
lon3=[-90.598023;-95.964404];
lat4=[29.206355;28.343359];
lon4=[-90.337782;-42.233815];
[latint1,lonint1,latint2,lonint2,latintn,lonintn,latints,lonints,latinte,loninte,latintw,lonintw]=intersectgc(lat1,lon1,lat2,lon2,lat3,lon3,lat4,lon4,'yes');