You are on page 1of 18
IAEA A ‘US 201500291768 cu») United States cz) Patent Application Publication co) Pub. No.: US 2015/0029176 Al Baxter et al. (43) Pub. Dat Jan. 29, 2015 (34) MULTIPLE VIEW: ED ANALYSIS: ication Classification (1) Applicant: Palantie Technologies, Ine.,Palo Alto, (SI). Int.Cl cA) GO6T 15/00 (200501) (2) US.Cl (72) Inventors: Jay Baxter, Hlsborongh, CA (US) cr G06T 15/00 (201301) Vineet Gopal, Plano, 1X (US): David USPC 345/419 SIT, Redood City, CA (US) 6 meter Viewshed intersection analysis and usage is disclosed. plu- (73) Assignee: Paluntie Technologies, Inc.,Palo Alto, lity oFobject positions is obtained. Each object position is CAUS) associated with a range, A relevant area is determines, Ele. ‘ion data is obtained fora plurality of points inthe relevant free, Lines of sight are evaluated between the plurality of (21) Appl. Nos 13948,889 points and the object positions within the associ ranges based on the elevation data, Aa interest zone comprising subset of the plurality of points within the relevant area is (22) Filed: Jul, 23,2013 determined, i seRvER |_| 1 vt ROM STORAGE A “oi ~1028 $006 41008 | | INTERNET TeUT ie eve Bus sana ce 1026 ‘CURSOR CONTE PROCESSOR ‘COMMUNICATION 18 1004] INTERFACE 1018 Patent Application Publication Jan, 29, 2015 Sheet 1 of 9 US 2015/0029176 AI 108 102 J" 110 / —106 los : ee - Lk , 200 Yt | 19] 19] 20 | 20] 20] 21 | 21 | 21 | 22| 20 J 19 | 19] 19[ 19 | 20| 20[ 20] 20] 20| 18 Jz | 19] 19] 19] 19] 19] 19] 19] 19] 19) 19 34 | 20 | 20 | 20[ 19 | 19] 19] 19 | 19] 19] +9 on 3s | 20 | 20 | 20 | 20 ¥6 | 20| 20| 20 | 20 ¥, | ar | ar | ar | 20 Ys [2x 21[ 21[ 20] 204 20 a ¥, | 28 | 28] 21 | 20 | 20 “| / Yq] 23 23| 28 [ 21 | 2x [2r[2r[ er] an | as *) 3 %y Xs XG %y X10 Patent Application Publication Jan, 29, 2015 Sheet 2 of 9 US 2015/0029176 AI 300 Object Properties : 302 Label: Object 1 J 304 Ox.) | 306 Range: 5m WA 308 Elevation: tom | 30 Date: (9/16/2012 t—~ Type: ¥ ue Event Device Site FIG, 3 FIG.5 Patent Application Publication _ Jan, 29, 2015 Sheet 5 of 9 US 2015/0029176 AI OBTAIN A PLURALITY OF OBJECT POSITIONS, 602, Y ASSOCIATE EACH OBJECT POSITION WITH A RANGE sos, ¥ OBTAIN EL OR A PLURALITY OF POINTS INTHE RELEVANT AREA 608 Y EVALUATE LINES OF SIGHT BETWEEN THE PLURALITY OF POINTS AND THE OBJECT POSITIONS WITHIN THE ASSOCIATED, RANGES fay ¥ DETERMINE AN INTEREST ZONE COMPRISING A SUBSET OF THE PLURALITY OF POINTS WITHIN THE RELEVANT AREA fiby FIG. 6 Patent Application Publication Jan, 29, 2015. Sheet 6 of 9 US 2015/0029176 AI PROVIDE A GRAPHICAL USER INTERFACE CONFIGURED TO DISPLAY A MAP m2 ¥ ACCEPT A PLURALITY OF OBJECT POSITIONS BASED ON USER INTERACTION WITH THE MAP, 4 ¥ DETERMINE AN INTEREST ZONE 106 ¥ RENDER A NAVIGABLE 3-D MAP COMPRISING THE PLURALITY OF OBJECT POSITIONS AND THE INTEREST ZONE 08. FIG. 7 Patent Application Publication Jan. 29, 2015 Sheet 7 of 9 ‘US 2015/0029176 AL FIG. 8 Patent Application Publication Jan, 29, 2015 Sheet 8 of 9 US 2015/0029176 AI FIG. 9 ‘a os ri E | Cal 4 a A US 2015/0029176 AI Jan. 29, 2015 Sheet 9 of 9 Patent Application Publication YOMLIN WOOT OL ‘Old BrOr SOVJUAINI FOOT Or NOLLVOINNINNOD ¥OSS300Ud TOYLNOD | | | yosuno ZOOF ror sna 30130 ALNN| UIT B00T ‘300T 30130 ‘AMOWSIN Pra wanuas 30VHOLS Wow NIWA US 2015/0029176 AI MULTIPLE VIEWSHED ANALYSIS FIELD OF THE DISCLOSURE [0001] Thepresent disclosure relates to topographical data ‘analysis. The disclosure relates more specifically to com- puterimplemented techniques for muhiple viewshed analy- BACKGROUND {0002} ‘The approaches described in this section are ‘approaches that could be pursued, but aot necessarily approaches that have been previously conceived or pursed. ‘Therefore, unless otherwise indicated, it should aot be assumed that any ofthe approaches described inthis section ‘qualify as prior art merely by virtue of thei inclusion inthis, section 10003] A viewshed is an rea that is visible from 2 fixed point of view. In computer-hased map displays, a viewshed ‘can comprise a region ofthe map that is visible from a par ticular point. A digital elevation model may be ersated and stored in computer-based map systems and contains elevation ‘data for cells Within a region. In standard viewshed analysis, the digital elevation model is used to determine whether & ‘lear line of sight exists between a viewpoint cell and other target cells within the region Ifa cell with ahigher elevation valuelies between the viewpoint cell ands target cell, hen the Fine of sight is Blocked, and the target cells omitted from the Viewshed of the viewshed call, 10003) -Viewshed analysis for an object may be used 10 ‘evaluate areas fom which the object is visible, as well as to ‘evaluate areas that are observable from the objec. [0005] Usage of single viewshed has military and civilian applications. For example, a viewsheed may be sed to eval ‘ate coverage ofan existing or potential rower site, such as a radio tower, watchtower or observation point. Furthermore, viewsheds may be used for urban planing, suc as to maine tainthe visibility of landmark, and to evaluate the visibility ‘of an existing or proposed building. SUMMARY 10006] Theappendod claims may serveasa summary ofthe [BRIEF DESCRIPTION OF THE DRAWINGS. 10007] a the drawings: [0008] FIG. 1 illusiutesan embodiment ofan area contain- ing features related to elevation data; 10009] FIG. 2ilustrates an embodiment of elevation data: [0010] FIG. 3 illustrates an embodiment ofa user imterface {or entering object information; [0011] FIG. 4illustrates an embodiment ofan interest zone With a clear Hine of sight to multiple objects: [0012] FIG. Sillusirates an embosiment of an interest one ith no line of sight to multiple objects; [0013] FIG. 6 is a flow diagram that illustrates an embod ‘ment of method for determining an interest zone based on tiple viewsheds: {0014} _FIG.7 is flow diagram that illustrates an embodi- ment of a method for rendering an interest zane based oa ‘multiple viewshods: [0015] FIG. Sillustratesan embodiment ofa graphical user Interface for multiple viewshed analysis: Jan. 29, 2015 [0016] FIG. 9itlosrates sn embodiment ofa graphical user interlace for rendering a navigable throe-dimensional map of ‘multiple viewshed analysis data [0017] FIG. 10 illustrates « computer system upon which ‘one of more embodiments may be implemented, DETAILED DESCRIPTION [0018] In the following description, for the purposes of ‘explanation, numerous specific details reset forth inorder to provide s thorough understanding ofthe present invention. It ‘ill be apparent, however, tbat the present invention may be practiced without these specific details, In other instances, ‘well-known structures and devices are showin in block di ‘gram form in order to avoid unnecessarily obscuring the present invention, [0019] Exsbodiments are deseribed herein according to the Tollowing outline: 0020} 1. General Overview [021] 2 Elevation Data [0022] 3. Object Data 0023] 4 Interest Zone Caleulaions 0024] 5. Visualization [02S] 6. Hardware Overview 1. General Overview [0026] | Computersimplemented systems andl methods aro provided for multiple viewshed analysis. nan embodiment, 4 plurality of objet positions is obtained. The object pos tions correspond to postions of events, individuals, vehicles, structures devices, sites or other viable objects. Each object positon is associsted with a range. [0027] As used herein, the term “viewshed” refers to an area tats visible froma specific location, A viewshed foran ‘object position may be determined using elevation data. The clevation data is used to evaluate a line of sight hetween an ‘object position and points that are within a range of the object position. Points that ae visible from the objeet position arein the viewshed of the object position (0028) -Moitiple vewshed analysis is performed over arel- ‘evant area containing the object postions. Elevation data is ‘obtained fr plurality of points ina relevant area. An interest ‘zone is detemined by evaluating lines of sight berween the ‘object positions and the plurality of points inte relevant area that are within range of the objet postions. [0029] The interest zone includes subset ofthe points in the relovant area. In one embodiment, the interest zone is defined such that 2 clear line of sight exists berwoon the interest zone and each of the object positions within the associated ranges, In one embodinvent, this type of interest zone is used 10 determine a common cause, perpetrator, oF ‘ther Tinkage between the objects assoeiated with the object positions [0030] Inanother embodiment, the interest zone is defined such that no line ofsightiselearbetweenthe interest one and Any of the abject positions within the associated ranges. [0031] Computer-implemented systems aol methods are also provided relating to user interfaces for performing mul- tiple viewshed analysis and viewing muliple viewshed analysis results. graphical use interfacemay be provided to Taciltate object input. Mapping tools may also be provided to tate multiple viewshed analysis. A threedimensional navigable map may be render tn display the interest nein the context ofthe elevation data US 2015/0029176 AI 2, Blevation Data 10032] | Multiple viewshod analysis may be performed over ‘relevant area containing one or more object positions ass0- sd with objects of terest. The relevant area may include ‘every point within the range of one or more object positions. ‘Altematvely or in ation, the relevant area may include points outside the ringe of any object position. The relevant rca may also exclude points within the ringe of any object position. [0033] To perform multiple viewshed analysis over region, elevation data for the region is required. Elevation data is obisined fora plurality of points in a relevant are, FIG. illustrates an example area containing features related to elevation data that may be wsefil in describing an embod ment of computerimplemented techniques. for_ multiple viewshied analysis. View 100 is atop plan view of a region ‘containing «plurality of features 102-110 that may be repre ented in the elevation data, Features 102-110 may include Fhnman-mode Features 102-106, teain features 108-110, of ‘any combination thereof, 10034] "Elevation data may be stored in one or more data sources. Inone embodiment, elevation data used for multiple viewshied analysis is generated by combining elevation and! ‘or height cata from mip sources. Por example, data ass0- ‘ciated with a feature may be used to modify elevation dats fom another data source, such as when the elevation data from the other source does not reflect the feature. The elev tion data may already include elevation information about ‘one or more features. Public map data sourees may be used as ‘starting point 10035] » Man-made feaures 102, 104, 196 may incinde any ‘man-made structure, such as buildings, towers walls, roads, bridges, platforms, waterborne structures, ai-bome strvc- tures, and any other man-made structure. Man-made features 102-106 may be fixed land andlor water. Altematvely or in ‘addition, man-made features 102-106 may be semi-mobile or fully mobile. In one embodiment, elevation data for man- mace features 102-106 incldes height data for features Jocated at fixed postions. Altematively or in addition, eleva- tion data for man-made features may include height data andar other dimensions that may he used with position and! fr orientation data to generate elevation data for multiple views analysis. 10036] Tecra Features 108110 may include any geologi- cal and/or natural feature, such as mountains, elif, hills, plains, valleys, water body surfaces, andor any other geo- Jogieal or topographical feature. 10037] Data associated with feamres 102-110 may be ‘obtained from one or more databases. Although distinctions ‘ae made between man-made features 102-106 entering eae tures 108-110, one or more databases containing data associ ated with features 102-110 may include both man-made fea tures 102-106 and ters Features 108-110, Alternatively oF in addition, elevation data associated with different feature types may be obtained from different databases. [0038] | One or more of features 102-110 may possess char- acteristic that may be classified as ether man-made or era, such a5 an excavation site, a quary, a dam, or any other ‘man-made modification to natural terrain 10039] FIG. 2Mlustates a partial example of elevation data that may be usefil in deseribing an embodiment of computer Jmplemented techniques for multiple viewshed analysis. Ia the example of FIG. 2, example elevation data 200 corne- sponds fo region A of FIG. 1, Elevation data 200 includes Jan. 29, 2015 evation values 202 fora plurality of points (x,y fof FIG. 1. Aldhouh the notation (x, . 7) may be ‘o refer to speifie coordinate (x,y) with an elevation of 2 storing (x,y) and zina data structure fora thre-dimensional ata point snot required and any suitable storage format may be used, Although elevation data 200 is illustrated as a 2-di- ‘mensional ana for convenience, elevation data 200 may be stored using any rspresentation suitable for storing elevation data [0040] In one embodiment, the position of an object and points orresponsing 1o other positions are defined ina geo graphic coordinate system, such as latiude and longitude values basod on any geodeti system or datum, the Miltary Grid Reference System (MGRS), the Universal Transverse Mercator (UTM) grid system, the Universal Polar Stereo- graphic (UPS) grid system, or any combination thereof. [0041] Fievation values 202 specify the elevation at point (4,3) In some peouraphie coordinate systems, elevation val- ‘ves 202 are included! in geographic coordinates. Elevation values 202 may be specified in any unit based on any refer- tence, For example, one common reference point for elevation datas sea Tevel. Alternatively or in addition, elevation values ‘maybe expressed relative 0 a point within a specifi map atm that holds a known, fied value. [0042] Elevation data 200 may be obtained from one or vore databases, The elevation data obtained from a database ‘may already include data associated with one or more fea- ‘ures. For example the slope associated with terain feature 108 is reflected inthe mnshaded portion of elevation data 200, [043] Data associated with one or more features may’ be ‘sed to modify elevation data sich as when the elevation data {doesnot reflect feature. Forexampl, the shaded portion 204 ‘of elevation data 200 contains elevation values that are modi fied to reflect the dimensions of the structure associated With man-made feature 106. 3. Object Dats [044] Mulkple viewshod analysis is performed by com- puter analysis of fines of sight between points in a relevant area and multiple object positions. The object positions may ‘correspond ts positions of abject such as events, individuals, vehicles, sievtures, devices, sites or ther viable objects ‘one embodiment, one or more objects correspond to obser- vation points, such as an existing or a potential lookout, positon of personne, positions of vehicles or things, device Jnstallation, structure, or other site, Altematvely oF ia add ‘ion, one or more objects my correspond! o observed evens, sueh as. shooting, an explosion, an attack, a photograph, 3 commiication, a video, # report, or any atber observable [0045] Object information may be obtained from a data source, such as a database, fil, data stram, or any other Source of object information, Public databases may be used Private databases may be used, including but not limited t0 the typeof data repository used in Palantir Gotham, commer- cially available from Palantir Technologies, Inc. Palo Alo. Calif In one embodiment, objet information i entered by ‘user via a usr interface, FIG. 3 illustrates an embodiment of ‘user interfce for entering object information. [0046] User interface 300 is configured to display andor allow ipa of one oF more elements corresponding ia prop- ery of an object. User interface 300 includes name element 302. Name clement 302 allows a user enteran identifi for ‘an object. User interface 300 further includes position ele- US 2015/0029176 AI ‘ment 304, Position elemeat 304 allows a user to associate @ position withthe object Inone embodiment, the position isa geographic coordinate in any eographic coordinate system. Tone embodiment, position element 304 may allow ausert ‘enter a geographic coordinate through a map interface, 9 oogniphie search interface or any oer interface coatigured to assist the user in associating a postion withthe object. For ‘example, scr interface 300 may he displayed after a location js solocted on a map such that the position ofthe selected location ie displayed in postion element 304, [0047] User interface 300 further includes range element 306, Range element 306 allows a user fo associate a range ‘withthe object. In one embodiment, the range of an object positon is defined by a radius from the object position. The Fange may also he specified by one of more other formulas, ‘curves, polygons, ines, edges, or any other method suitable lor defining range of the object position. In the case of & range defined by a radius, points within the radi are evalu- ‘ted to detennine if There isa clea line of sight between & specie point and the abject position 10048] Points within range ofthe object position may be ‘determined based ona two-dimensional distance calculation ‘ora three-din an object positon (x,y, 2) with range of 1000, a point (x, ¥y+1000, z)may be included based on both a wo-dimensional ‘distance calculation and a three-dimensional distance caleu- Tation, wile a point (x, y+1000, 2+1000) may be included based onatwo-dimensional distance calculation hut excised based on a three-dimensional distance calculation, [0049] In one embodiment, range element 306 includes 2 horizontal viewing angle restriction andor a verical viewing ‘angle restriction fo associate with an object. A default host zontal viewing angle restriction andior a default vertical Viewing angle restriction may be supplied for one or more ‘objecttypes. none embodiment, one of more object types ate associated with no viewing angle restictions by default 10050] In one embodiment, the range is determines based ‘on an abject type. For example, i the object corresponds to "unaided human vision, a default valve forthe range may be determined hase on the range of human sight. I the object corresponds to an imaging device, a default value for the range may be determined based on the range of the device including any horizontal viewing angle restiction andor ver tical viewing angle restriction, Aliematvely or in addition, the range may be determined andor modified based on one oF ‘more local conditions, such as weather, pollution, humidity, and/or any local condition that may affect visibility. In one ‘embodiment, the local condition is determined based on 3 time associated with the object. {0081} User interface 300 further includes elevation ele- ‘ment 308, Elevation element 308 allows a user to associate a ‘elevation value withthe object. none embodiment, the eleva tion valueassociated with the object may bea value relativeto the elevation ofthe object position. Altematively or in adi tion, the elevation vale associated with the object may be @ value that ineludes the elevation of the object position. For ‘example, i the object is a 10-m tall ower and the object Position of the objet has an elevation of 100 m above sea evel, the appropriate elevation value ofthe object may'be 10 1m (felative to the object position) or 110 m (relative to sea level) A defsultelevation value may be supplied for elevation clement 108, In one embodiment default elevation vale of ‘object is O relative tothe abject postion, Jan. 29, 2015 [0052] User interface 300 further includes time eleme ‘310, Time clement 310 allows a user to associate time info ‘mation with the object. The time information associated with the object may include ime, time zone, and/or date informa- ‘ion, In one embodiment, partial time information may be entered. For example, a user may’ specify through time ele- ‘meat 310 that the object s associated with ether daytime oF ighttime. The time information associated withthe object ‘may be used to determine a default valve forthe range asso- ciated with the device. For example, the ime information ‘may be used t0 determine one or more local conditions, such as natural lighting conditions, weather, pollution, humidity ‘or any other local condition atthe time associated with the object. [0053] User interfice 300 further includes type element ‘312, Type clement 312 allows a user to associate an object classification the object. Object classifications may be used to indicate that an objeet is an event, individual, vehicle strve- ture, deviee, site, or any other type of abject. An abject elas- sification may be associated with one or more default valves or one or more object properties. The object classification may inelude one oF more subclass levels aranged in hier arcy. 4.lnverest Zone Caleulation, [0054] Multiple viewshed analysis is performed over the relevant area to determine an interest zone. The intrest zone is determined by evaluating lines of sight between the object positions and the plurality of points inthe relevant area that ‘are within range of the object positions. The analysis is com puter-basel analysis using one or more computer programs, ther software elements, or other loge, with a genera-pur- pose computer or special-purpose computer an the interest ‘one may’ be created and used based on transforming data values in electronic digital memory. [05S] ‘The interest zone may be used for purposes such as ‘determining a Tikely location ofa source associated with the objects. For example, he objects may correspond 0 attack ‘events, including siperatacks, improvised explosive device (ED) dotonations, and other attacks or explosions. The analysis may yield the likely position ofa source of the attack events, such asa sniper location, a lookout point, or another source of theattacks. The analysis may also yield information fon coverage and concealment, incloding information that nay be used for location, route and operation planning. [0086] FIG. 4 ilusiates an embodiment ofan interest zone ‘with a clear ine of sight to multiple objects. In one embodi- ‘meat, the interest zone is defined such that clear line of ight exists between the interes ne and cach ofthe object po ‘ions within te associated ranges. In one embodiment, this type of interest zone is used to determine a common cause, perpetrator, or other linkage between the objects assoeiated ‘with the object positions [0057] Two objects are located within relevant area 400. ‘The frst object is associated with object postion 402 and range 404. The socond objects associated with object pos ‘ion 408 aad range 410, Viewshed 406 is a viewshed asso ated withthe frst object and includes ll points with a clear Tine of sight from object positon 402 within range 404, View shed 408 i. viewshed associated with the second object and includes all points with a clear liae of sight from object position 408 within range 410, [0058] Interest zone 414 includes all points in relevant area 400 with a clear ine of sight both to object position 402 and US 2015/0029176 AI ‘object position 408, In one embodiment, interest zone 414 is calculated based on an intersection of viewshed 406 and viewshed 412.4 viewshed is generated by evaluating the line ‘of sight between the objet position and all points within range based on elevation information for points lying between the object position and any specific point. Viewshed 406 and viewshed 412 may be calculated separately beforean, ‘intersection operation is performed. Alternatively or in adie tion, when the interest zone 414 requires visibility from all specified objects, calculation may be restricted to points Within range ofall abject positions. [0059] In one embodiment, interest zone 414 is calculated based ona binary value for visibility. When a binary value for visibility is used, the line of sight between a fist point and 2 second point is either visible or aot, A binary value for vis- ‘bility may be appropriate lor visibility andor imaging inthe Visible light spectrum or neae-visible light specteum. Visibil- ity may also be represented using probabilistic values, such as ‘when evaluating the visibility of longer electromagnetic, syaves such as radio waves. [0060] Inone embodiment, interest zone 414 is determined based on a binary requirement that a clea line of sight exists between eacs point in the interest zone and each of object Positions 402 and 408. Alternatively or in addition, interest one 414 may be calculated with non-binary valves to reflst thats cles ine of sight exists hetwcen each point and ane oF ‘more ofthe object positions. For example, anon-binary inter fest zone may include a epion 414 from which both object positions 402 anc 408 are visible, and regions 406 and 412 rom which one of objet postions 402 and 408 are visible. Although FIG. 4illuates an example involving two objects, jn an embodiment, muitipe viewshed analysis may be per Formed for any numberof objects, [0061] FIG. Silstrates an embosliment of an interest zone With no line oF sight to multiple objets. a one emboimest, the interest zone is defined sch that no line of sight is elear between the interest zone and any of the object positions ‘within the associated ranges. 10062] Two objects are located within relevant area S14. “The first object is associated with object position 502 and range 804, The socond objeo is associated with object posi tion S08 and range $10, Viewshed 506 is a viewshed associ ed with the frst object and includes all points with a clea Tine o sight from object position 502 within range 504, View shed 12 is a viewshed associated with the second object and includes all poims with a clear line of sight from object position $08 within ange S10, 10063] _Tnerest zone S16 includes all points in relevant area S14 with no lie of sight to any specified abject. Viewshed 506 and viewshed $12 may be calculated separately before ‘non-overlapping regions are determined. Altematively o ia dition, when theinterest7one S16 requires lack of visibility from any object, calculation may be restricted to points in Jnerest zone $16 within an object position’s range that lie ‘ouside of any viewshed previously calculated, {0063} In one embodiment, interest zone $16 is calculated based ona binary value for visibility. When a binary value for visibility is used, ce line of sight between a first point and a second point is either visible or not. A binary wale for vis- ‘bility may be appeoptiate for visibility andor imaging in the visible light spectrum or near-visible light spectrum, Visibi- ty may aso be represented using probabilistic values, seh as ‘when evaluating the visibility of longer electromagnetic waves such as radio waves Jan. 29, 2015 [0065] none embodiment, interest zone 816 is determined between each point in the interest zone and exch of object positions $02 and S08. Altematively or in edditioa, interest ‘ono 516 may be calculated with non-binary valves reflect ‘hat ear fine of sight exists between each point and one oF ‘more of the objet positions. For example, non-binary inter fest zone may incliea region 516 from which none of object positions S02 and S08 are visible, and regions within interest ‘onc 516 from which one of object positions S02 and SOB are visible [0066] FIG. 6 isa Now diggram that illustrates an emboal- ‘ofa miethod for determining aa interest zone based 0a ‘multiple viewsheds. Socha method may be performed by one ‘or more computing devices configured as general-purpose ‘computers or special-purpose computers, and using one oF ‘more computer programs of other software elements which ‘when executed eause performing the operations shown in FIG. 6. Forexample, one oF more steps ofthe method may be performed by computer system 1000 as further described herein. These operations involve storing, retieving, and transforming data values in electronic digital memory with the effect of transforming the physical state of the memory according ta the operations that are described. Further, the ‘operations of FIG. 6 presume that a dataset representing ‘up, or other geographic daa, is available for sein deter ‘mining areas, ranges, and other values [0067] In block 602, 2 plurality of object positions is obiained. Object positions may be obtained from any data source, such as a database, file, data stream, or any other ‘Source of object 60152-0124 data none embodineat, object information is entered by # user via @ user interface, The ‘object positions may be geographic coordinates defined in a ‘gstgraphie coordinate system. In one embodiment, atleast ‘one of the object positions corresponds to the location of an [0068] Inblock 604, cach object position is associated with ‘range. In one embodiment, the ange is defined by a radius {rom the object postion. The ange may also be specified by ‘one or more her formulas, curves, polygons lines, edges, oF ‘any other method suitable for defining 4 range of the object position. In one embodiment, the rang is determined based ‘on an object type. A default value for the range may be {termined based on the objet type. Altematvely or in add- tion, the ringe may be determined and/or modified based on ‘one or more local conditions, such as weather, pollution, ‘humity, and/or any loal condition that may ate In one embodiment, the default value for the mnge is the boundary ofthe relevant area over which multiple viewshed analysis is performed. [0069] In block 606, a relevant area js detemnined. The relevant area may include every point within the range of one ‘or mote abject positions. Altematively or in addition, the relevant area may include points outside the range of any ‘object postion. The relevant area may also exclode points within the range of any object position 0070} In block 608, elevation data is obtained for plural- ity of points in the relevant area, In one embodiment, the plurality of points is selected based on desired granularity. ‘The granularity may be adjusted based on the granularity of the available elevation data In one embodiment, the gram- larity is adjusted ased on computational complexity andor available computing resources. AReratively or in addition, the available elevation data may be processed to adjust the US 2015/0029176 AI rnularty ofthe available elevation data, For example, the available elevation data may be downscaled using one or ‘more mathematical methods to adjust he granularity. Dilfer ‘ent granularity may be used for diferent regions withia the relevant area, 10071] In one embodiment, the elevation data reflects ter rain features and man-made features. Elevation data may be ‘obtained from one oF more databases. The elevation dats stored in the one or more databases may be combined andor blhervise modified to include one or more tein andor ‘man-made Features. 10072] In block 610, lines of sight are evaluated between the plurality of points and the object positions within the ‘associated ranges based on elevation dat In one embod ‘ment, one or more viewshedsare calcnate separately. Ate natively or in addition, ealewation may’be restricted to eli nate recalculation over a region already eliminated from & ‘desieed sult. For example, when the desited result requires visibility from all object positions, ealevlation may be restricted to poinls within range ofall object positions. For ‘example, when the desired result requires visibility from all, ‘object positions, calculation may be restited to points range of all objoct positions. Altematively, when the desired result requires lack of visibility from any object, ‘calculation may be restricted to points within an abject pos tion's range that ie outside of any viewshed previously cal- culate. 10073] In block 612, an interest zone is determined. The interest zone comprises @ subset of the plurality of points ‘within theelevant are, Ineae embodiment, te interest zone js calelated based on a binary value for visibility. Altern tively or in addition, visibility may be represented using probabilistic vas 10074) In one embodiment, the interest zone includes points with a clear line of sight to mulple objects. The ‘nerest zone may be determined based on a binary ru ‘ment that clear fine of sight exists between each pit in the interest zane and each object postion. Altematively of in ‘sition, the interest zone may be calculated with non-binary values to reflect that clear line of sight exists between cach point and one oF more ofthe objet positions 10075] In one embodiment, the interest zone includes Points with no line of sight to rmultipe objects. The interest ‘one may be determined based on a binary requirement that no fine of sight exists between each point in the intrest zone ‘andl any objest postion, Altemativel on addition, the inter- ‘est rane may be calculated with non-binary values to reflect that no clear ine of sight exists between each point and one or more ofthe abject postions. 5. Visualization 10076] | Computer-implemented systems and methods are ls provided relating fo user interlace for performing mul- tiple viewshed analysis and viewing multiple viewshed analysis results. Mapping tools may als be provided o faci tate multiple viewshed analysis, Visualization ofthe interest ‘zone resulting from multiple viewshed analysis may be per Jormed by one of more computing deviees configured as general-purpose computers of special-purpose computers, and using one or more computer programs or other software ‘elements which when execited eause performing the opera tions shown in FIG. 7. For example, one or more steps ofthe micthod may be performed by computer system 1000 a fire ther described herein. These operations involve storing, Jan. 29, 2015 retrieving, and transforming daa valves in electronic digital memory withthe effet of transforming the physical state of the memory, and causing driving a computer display unit or video memory to different state or appearance, according 10 the operations that are described [0077] FIG. 7 isa low diagram that astra an embodi- ‘ment of a method for rendering an interest zane based on ple viewsheds. Soca method may be performed by one more computing devices. Por example. one of more steps ‘ofthe method may’ be performed by computer system 1000, [0078] In block 702, a graphical userimerface is povided ‘The graphical user inerface is configured to display a map. la ‘one embodiment, map containing a relevant area for mul- tiple viewshed analysis is displayed, [0079] In block 704, a plurality of object positions is Accepted based on user interaction with the map. In one embodiment a user interface configured to ereate objects andor modily object properties is displayed after location is selected on the map. The abject may be associated with a geographic coordinate corresponding othe selected feation. [0080] In block 706, an interest zone is determined. For ‘example, the interest zane may be determined in aevordance ‘with the method described in FIG. 6. The interest zone com- pries a subset ofthe plurality of points within the relevant farea. In one embodiment, the interest zone includes points ith aclearline of sight to multiple objects. Alternatively, the interest zone includes points with no line of sight multiple objects. [0081] In block 708, a navigable three-dimensional rendered. The navigable three-dimensional map eon the plurality of object positions and the interest one. An example of a navigable thee-cimensional map comprising theplrality of object postions and the interest zane is shown in FIG. 9. Tnsomeembodiments, the operations of block 702, block 708 may he performed in coordination with another rogram, process of system that generates, display, renders fr causes enerating, displaying or rendering 2 map. Thus, embodiments of FIG. 7 may be implemented in programs, processes or systems that do aot directly perfoam graphics. ‘mapping or display functions but that receive a plurality of object positon data, detemmine an interest zone, und provide ‘output interest zone data that other programs, processes oF systems can use in map displays or other graphical displays [0082] FIG. 8illostates sn embostiment ofa graphical user interface for multiple viewshed analysis. Map display 800 illustrates an interest zone penerated based on multiple view- shed analysis fr three objects caresponsing io atack events ‘The interest zone in FIG. 8 corresponds to points with clear line of sight to cach af the three objets. The interest zane is rendered ona map ofthe relevant area Specifically, the lighted region indicates all points with «clear linc of sight to cach object position associated with the three ebjets [0083] three-cimensional navigable map may be ren- ‘ered to display the interest zone in the context ofthe elev ‘ion data, FIG. 9ilustrates an embodiment ofa graphical user interface for rendering a navigable three-dimensional map of ‘multiple viewshed analysis data. Navigable map inter 900 generates theee-dinensional rendering of the interest ‘zane and the relevant area based on map data and elevation ata, Specifically, the highlighted region indieates all points ‘ofthe clea line of sight to each abject position associated ‘ith the thee objects. In one embodiment, data associated ‘with exch object may be viewed within navigable map inter Tice 900, The image is redered based oa the elevation data US 2015/0029176 AI Additional elevation data may be obtained from one or more ‘databases to render the navigable three-dimensionall map. 6, Hardware Overview 0084] According 1 one embodiment, the techniques scribed herein are implemented by ote of more speciale purpose computing devees. The special-purpose computing ‘vices muy be hard-wired to perform tbe techniques, cr include digital elctonie devices such as one oe more ap: ‘caton-spetifie integrated eres (ASICs) of fel progrin= rable gat arrays (FPGAS) tat are persistently programmed to perlorm the techniques, or may include one Or more gea- ‘era purpese hardware processors programmed to perform the tecinigues pursuant 4 program iosuctions i rmware memory, eter storage, ota combination. Sich special-pur pose computing devices my also combine eustom hind. red logic, ASICs, or FPGAs with costo programming to ‘scomplish the techniques. The special-purpose computing devices may be desktop computer systems, portable com- puter systems, bined devices, networking devies or ay ‘ther deve that incorporates hardwired andor progr Jogi oinplemeat the techniques 10088) For example, FIG. 10 ilostates compute system upon which one or more embodiments may’be implement ‘Compter syst 1000 inclades bas 1002 or other comm nication mechanism for communicating information, and @ hardware processor 1M couples with has 1002 foe process ing information. Herdware processor 1004 maybe, for ‘example, # gonerl purpose micoprocestr. {0086} Computer system 1000 also includes. a main ‘memory 1006, sch asa random acces memory (RAM) oF ‘ther dynamic storage device, coupleda bs 1002 forstoring information and iasinictions to be executed hy processoe 1004. Main seaiory 1006 alsa may be wae for storing tee porary variables oF other intemedite information diring ‘xecttion of iasirvetions to be executed by processor 108 Svch instructions, when stored ia noa-inisitory storage media accessible wo processor 1004, reader eomputersystem 1000 ino a special-purpose mucin that i estomized to perform the operations specified in the instractons. [0087] Computer system 1000 further includes read only ‘memory (ROM) 1008 orotherstate storage devieecoupledto bus 1002 for storing state information snd instructions foe processor 1004. storaye deve 1010, sue asa magnetic isk, optical disk, orsoliesat drive isprovided and coupled to bus 1002 for storing infomation and instretons {0088} Computer system 1000 may be coupled via bus 1002 0 display 1012, sichas a cathode ay tbe (CRT) for ter user. A input device ns is couned © bus 1002 for communicating information and command selections &0 processor 1004. Another type of user inp ‘devices cursor contol 1016, suchas a mouse tock of ‘cursor direction keys for commnicating direction inform tion andl command selections processor 1004 an for con- trolling cursor movement on dnp 1012. This pt device ‘ypiealy as two degrees of reedom in wo anes, ist axis Second ais (¢2.y) that allows the device to speciy psins ina plane 10089] Computer system 1000 may implement the toch- niques described herein wsing customized hard-wired logic, ‘oncor more ASICs FPGAS, firmware and/or program logic ‘which in combination with the computer system entses oF programs computer system 1000 to be a special-purpose Jan. 29, 2015 nachine. According {0 one embodiment, the techniques herein are performed by computer system 1000 in esponseto sracessor 1004 executing one oF more sequences of one oF ‘more instrctions contained in main memory 1006, Such instrctions may be read into: main memory 1006 from nother storage medium, suchas storage device 1010. Execu- tion of the sequences of instructions contained in main iemory 106 causes processor 1004 to perform the process steps described herein. In altemative embodiments, hard- ‘wired circuitry may be used i place of orn combination with software instructions. [0090] The term “storage media” as used herein refers to any non-transitory media that store data andlor instructions that cause a machine (0 operate ina specific fashion. Sueh storage media may comprise non-volatile media andor vola- ‘ile mea, Non- volatile media includes, For example, optical disks, magnetic disks, or solid-state drives, such as storage ‘device 1010, Volatile media includes dynamie memory, sch fs main memory 1006, Common forms of storage medi lude, for example. floppy disk, flexible disk, harddisk, solid-state drive, magnet tape, oF any other magnetic data storage medium, a CD-ROM, any other optical data storage ‘medium, any physical medium with patteras of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or canridge 0091} Storage media is distinct from bot may be used in conjusetion with transmission media, Transmission media participates in transfering. information between. storage ‘media, For example, taasinission media ineludes coaxial cables, copper wire an fiber optics, ineluding the wires that comprise bus 1002. Transmission media can also take the form of acoustic or Tight waves, such as those generated during radioswawve ad nfra-eed data communications [0092] Various forms of media may be involved incareying ‘one o more sequences of ane or mo sor 1004 for execution. For exatpl. inially be cartied ona magnetic disk or solid-state drive ofa remote computer. The remote computer can load te instrue- ‘sons int its dynamic memory and send the instructions over ‘telephone line using a modem. A modem local to computer ‘system 1000 canreceve thedatson thetelephone line an use fn infrered transmitter to convert the data to an infra-red ‘Signal Aninfra-red detector can receive the data carried inthe intra-red signal and appropriate circuitry can place the data ‘onus 1002, Bus 1002 caries the data to main memory 1006, rom which processor 100M rerieves and executes the instruc- ‘ions. The instretions reived by main memory 1006 may optionally be stored on storage device 1010 ether before or after exeeution by processor 1004, [0093] Computer system 1000 also includes a communica- tion interface 1018 coupled to bus 1002. Communication interface 1018 provides a two-way data communieation eou- pling to a network link 1020 that is connected to a focal network 1022. For example, communication interface 1018 may be an integrated services digital network (ISDN) card, cable modem, satelite modem, oF a modem to provide a data ‘communication eoanection to corresponding type of tele- phone line. As another example, communication interface 1018 may be local area network (LAN) card to provide data communication connection oa compstible LAN. Wire- Jess Finks may also be implemented, In any such implemen- tation, communication interface 1018 sends and reccives electrical, clectromagnetic or optical signals that carry digital ata streams representing various types of informatio US 2015/0029176 AI 10094} | Network ink 1020 typically provides data commu- nication throug one or more networks to other data devices. For example, network link 1020 may provide a connection rough Local network 1022 wo host computer 1024 orto data ‘equipment operated by an Internet Service Provider (ISP) 1026, ISP 1026 in tun provides data communication services through the world wide packet data communication network row commonly refered to as the “Internet” 1028, Local network 1022 and Internet 1028 both use electrical, eletro- ‘magnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on net- Work lik 1020 and through communication interfce 1018, ‘hich carry the digital data to and from computer system 1000, sre example forms of transmission media 10095] Computer system 1000 can send messages and receive da (s),networ the Intemet example, a server 1030 might transmit a roguested code for an application program through Internet 41028, ISP 1026, local network 1022 and communication interlace 1018, 10096] |The received code may be executed by processor 1004 ast is received, andor storedin storagedevice 1010, of ‘ther non-volatile storage for later execution [0097] In the foregoing specification, embodiments of the ‘vention have heen described With reference to numerous specific details that may vary fom implementation to imple- mentation. The specification and drawings ae, accordingly, to be regarded in an lstative rather than a restrictive sense “Thesole and exclusive indicator ofthe seope of the iavention, nd what is intended by the applicants to he the scope ofthe wention, is the fteral and equivalent scope of the set of claims that isue from this applic: Which such claims issue, itelud 1. method comprising: ‘obtaining, ftom a its data source pluraity of locations ‘of events, wherein the events are plurality of attack event associating the plurality of locations ofthe events with one ‘oF more associated ranges, determining relevant area within the one or more as ted rages of the plurality of locations ofthe events ‘obtaining, from a second data source, elevation data for a ‘plurality of points in the relevaat arco caleulating, by one or more processors, an intersection of a plurality of viewsheds from the plurality of locations of the events besed on the one oF more associated ranges and the elevation dats, determining, based on said calculating, an interest zone ‘within the relevant ares, wherein the interest zone com prises a positon of a sonree ofthe plurality of atack ‘wherein the method is performed by one or more comput ing deviews, 2, The method of clam 4, further comprising the seps of: Providing a graphical user interface configured odsplay 3 map; aveepiing the plurality of locations of the events based on ‘user interaction with the map 3. The method of els’ 1, further comprising the step of| rendering a navigable three-dimensional map comprising the plurlityof locations of the events and the position of the Source ofthe plurality of attack evens 12 any subsequent comee: Jan. 29, 2015 4. The method of claim 1, wherein the elevation data com= prises train features and man-made Features. S$. The method of claim 1, wherein atleast one of the plurality of locations ofthe events corresponds to location ofa photograph, 6. (canceled) 7. The method of claim 1, wherein the plurality of attack events comprise one or more improvised explosive device (ED) detonatons 8.9. (canceled) 10, The method of claim 1, wherein the plurality of loea- ‘ions ofthe events are associated with an elevation, wherein calculating the intersection of the plurality of viewsheds is further based on the elevation, 11. A not-transitory computerreadable medium carrying ‘one of more sequences of instructions which, when executed by one or more processors, cause one oF more processors 10 carry ot the steps of ‘obaining, from a first dat source, a plurality of locations ‘of events, wherein the events are a plurality of attack associating the plurality of locations ofthe events with 3 range detemnining a relevant area within the associated ranges of the plurality of locations ofthe events; ‘obiaining, from a second datasource, elevation data for a ‘plucality of points in the relevant area calculating, by one or more processors an intersection of plurality of viewsheds from the plurality of locations of the events based on the one oF mote associated ranges and the elevation dats dtemnining, based on said evaluating, an interest zone ‘within the relevant area, wherein the interest zone com prises a postion of @ source ofthe plurality of attack 12, The non-ransitory computer-readable medium of claim 11, wherein the one or more sequences of instructions urthereause the one or more processors o cary out thesteps of providing a graphical ser interface configured to display map; accepting the plurality of locations of the events based on ‘user interaction withthe map. 13. The non-ranstory computerseadable medium of claim 11, wherwin the one or more sequences of instructions urthe cause the one or more processors to curry out the step of rendering a navigable three-dimensional map comprising the plurality of locations ofthe events and the stacker zone position ofthe source ofthe plurality of stack events 14, The non-ransitory computerreadable medium of claim 14, wherein the elevation data comprises terrain fea- tres ane man-made features 15, The noa-trmsitory computer-readable medium of claim 11 wherein at least one ofthe phrality of locations of the events comesponds to location of a photograph. 16. caneslod) 17. The non-transitory computerreadsble medium of lama 11, wherein the plurality of attack events comprise one ‘or more improvised explosive device (IED) detonations, 1819. (canceled) 20. The non-transitory computerreadable medium of claim 11, wherein the plurality of locations of the events are US 2015/0029176 AI associated with an elevation, wherein calculating the inter. ection of the plurality of viewsheds is further based on the elevation, 21, The method of claim 1, wherein the positon of the source ofthe plurality ofatack events sa sper location, 22, The method of claim 1, wherein the positon of the source ofthe plurality of attack events sa lookout point. 23. The nom-trnsitory computerreadable met of ‘lai 11, wherein the position ofthe souree ofthe plurality of tack events isa sniper location, 24. The nomransitory computerreadable medium of ‘lain 11, wherein the position of the source of the plurality of tack events i a lookout pon 28.26. (canceled) 27. The method of elaim 1, wherein the plurality of attack ‘events comprise one oF more sniper attacks. 28. The non-ransitory computerreadable medium of lam 11, wherein the plurality of atack events comprise one ‘or more sniper attack. Jan. 29, 2015

You might also like