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')

References#