scientimate.intersectgc#
latint1, lonint1, latint2, lonint2, latintn, lonintn, latints, lonints, latinte, loninte, latintw, lonintw = scientimate.intersectgc(lat1, lon1, lat2, lon2, lat3, lon3, lat4, lon4, dispout='no')
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#
import scientimate as sm
#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=sm.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=sm.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=sm.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=sm.intersectgc(lat1,lon1,lat2,lon2,lat3,lon3,lat4,lon4,'yes')