IP Library Granted Patent US 12,504,295
Granted Patent B2
US 12,504,295 · App. 18/068,673 · Granted Dec 23, 2025

Label location adjustment for multi-layer map

Inventors: Shawn Eric Ormond (Commerce City, CO); Graham Emde (Centennial, CO); Christopher Collyard (Littleton, CO)
Assignee: THE BOEING COMPANY
G01C21/3673G01C21/32G01C21/3807G01C21/3878G06T11/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,504,295
App. No.
18/068,673
Granted
Dec 23, 2025
Kind
B2
Abstract

A device includes one or more processors configured to perform one or more first deconfliction operations, for a first map layer, to determine first candidate label locations of first labels that identify first map locations. The one or more processors are also configured to perform one or more second deconfliction operations, for a second map layer, to determine first candidate label locations of second labels that identify second map locations. The one or more processors are further configured to perform one or more third deconfliction operations, for the first map layer and the second map layer, to determine an updated candidate label location of at least one of the first labels, an updated candidate label location of at least one of the second labels, or both.

Claims (69)

1 . A device comprising:

one or more processors configured to:

perform one or more first deconfliction operations, for a first map layer, to determine first candidate label locations of first labels that identify first map locations;

perform one or more second deconfliction operations, for a second map layer, to determine first candidate label locations of second labels that identify second map locations; and

perform one or more third deconfliction operations, for the first map layer and the second map layer, to determine an updated candidate label location of a first label of the first labels, an updated candidate label location of a second label of the second labels, or both,

wherein, to determine the updated candidate label location of the first label, the updated candidate label location of the second label, or both, the one or more processors are configured to perform a movement offset operation on a first candidate label location of the first label, a first candidate label location of the second label, or both so that a second candidate bounding box of the first label and a second candidate bounding box of the second label do not overlap when the first label and the second label are simultaneously displayed,

wherein a particular movement offset of the movement offset operation is determined based on dimensions of an intersection of a first candidate bounding box of the first label and a first candidate bounding box of the second label,

wherein the first candidate label locations of the first labels include the first candidate label location of the first label, and

wherein the first candidate label locations of the second labels include the first candidate label location of the second label.

2 . The device of claim 1 , wherein the one or more processors are configured to:

determine that a region of a map is associated with a plurality of labels; and

select, based on a selection criterion, a set of labels from the plurality of labels to include in the map, wherein the set of labels includes at least the first labels and the second labels.

3 . The device of claim 2 , wherein the selection criterion is based on a zoom level of the map, a list of label types associated with the map, or both.

4 . The device of claim 2 , wherein the selection criterion is based on default data, a configuration setting, a user input, or a combination thereof.

5 . The device of claim 1 , wherein the one or more processors are configured to:

determine first label locations of the first labels;

determine, based on the first label locations of the first labels, first bounding boxes of the first labels;

perform the one or more first deconfliction operations based on the first bounding boxes;

determine first label locations of the second labels;

determine, based on the first label locations of the second labels, first bounding boxes of the second labels; and

perform the one or more second deconfliction operations based on the first bounding boxes of the second labels.

6 . The device of claim 5 , wherein the one or more processors are configured to, based on a distance offset, a direction offset, or both, from a first symbol of a first map location, determine a first label location of the first label that identifies the first map location, wherein the first label locations of the first labels include the first label location of the first label.

7 . The device of claim 5 , wherein the one or more processors are configured to, based on a font type, a font size, a text alignment, a text size, a text buffer, a text filter, or a combination thereof, of a first label, determine a first bounding box of the first label, wherein the first bounding boxes of the first labels include the first bounding box of the first label.

8 . The device of claim 1 , wherein the one or more processors are configured to:

determine, based on the first candidate label locations of the first labels, first candidate bounding boxes of the first labels;

determine, based on the first candidate label locations of the second labels, first candidate bounding boxes of the second labels; and

perform the one or more third deconfliction operations based on the first candidate bounding boxes of the first labels and the first candidate bounding boxes of the second labels.

9 . The device of claim 1 , wherein the first candidate label location of the first label and the first candidate label location of the second label define an intersection region with a first corner and a second corner, and wherein the one or more processors are configured to determine a movement offset based on a difference between a first coordinate of the first corner and a second coordinate of the second corner.

10 . The device of claim 1 , wherein the one or more processors are configured to:

determine a movement offset based on dimensions of an intersection region;

determine the updated candidate label location of the first label based on the first candidate label location of the first label and the movement offset; and

determine the updated candidate label location of the second label based on the first candidate label location of the second label and the movement offset.

11 . The device of claim 10 , wherein the one or more processors are configured to apply a first portion of the movement offset to the first candidate label location of the first label to determine the updated candidate label location of the first label.

12 . The device of claim 11 , wherein the first portion is based at least in part on a first label type of the first label and a second label type of the second label.

13 . The device of claim 12 , wherein the first label type includes one of a navigation aid (navaid) label type, a way point label type, a route label type, an airport label type, an airway label type, or an airspace label type, and the second label type includes another one of the navaid label type, the way point label type, the route label type, the airport label type, the airway label type, or the airspace label type.

14 . The device of claim 10 , wherein the one or more processors are configured to:

determine, based on the updated candidate label location of the first label, the second candidate bounding box of the first label; and

based on determining that the second candidate bounding box is within a threshold distance of a first map location indicated by the first label, determine that the updated candidate label location of the first label satisfies a first selection criterion.

15 . The device of claim 1 , wherein the one or more processors are configured to, subsequent to performing the one or more third deconfliction operations and based on determining that label locations of the first labels satisfy a first selection criterion and that label locations of the second labels satisfy a second selection criterion, generate a map including the first labels at the label locations of the first labels and the second labels at the label locations of the second labels.

16 . The device of claim 1 , wherein the one or more processors are configured to, subsequent to performing the one or more third deconfliction operations and based on determining that a label location of the first label fails to satisfy a first selection criterion:

generate a graphical user interface (GUI) indicating the label location of the first label;

based on receiving a user input, determine an updated label location of the first label; and

generate a map indicating the first labels at label locations of the first labels and the second labels at label locations of the second labels, wherein the label locations of the first labels include the updated label location of the first label.

17 . A method comprising:

performing one or more first deconfliction operations, for a first map layer, to determine first candidate label locations of first labels that identify first map locations;

performing one or more second deconfliction operations, for a second map layer, to determine second candidate label locations of second labels that identify second map locations; and

performing one or more third deconfliction operations, for the first map layer and the second map layer, to determine an updated candidate label location of a first label of the first labels, an updated candidate label location of a second label of the second labels, or both,

wherein determining the updated candidate label location of the first label, the updated candidate label location of the second label, or both, comprises performing a movement offset operation on a first candidate label location of the first label, a first candidate label location of the second label, or both so that a second candidate bounding box of the first label and a second candidate bounding box of the second label do not overlap when the first label and the second label are simultaneously displayed,

wherein a particular movement offset of the movement offset operation is determined based on dimensions of an intersection of a first candidate bounding box of the first label and a first candidate bounding box of the second label,

wherein the first candidate label locations of the first labels include the first candidate label location of the first label, and

wherein the first candidate label locations of the second labels include the first candidate label location of the second label.

18 . The method of claim 17 , further comprising:

generating a map including the first label at the updated candidate label location of the first label, the second label at the updated candidate label location of the second label, or both; and

providing the map to a display device.

19 . A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

perform one or more first deconfliction operations, for a first map layer, to determine first candidate label locations of first labels that identify first map locations;

perform one or more second deconfliction operations, for a second map layer, to determine first candidate label locations of second labels that identify second map locations; and

perform one or more third deconfliction operations, for the first map layer and the second map layer, to determine an updated candidate label location of a first label of the first labels, an updated candidate label location of a second label of the second labels, or both,

wherein to determine the updated candidate label location of the first label, the updated candidate label location of the second label, or both, the one or more processors perform a movement offset operation on a first candidate label location of the first label, a first candidate label location of the second label, or both so that a second candidate bounding box of the first label and a second candidate bounding box of the second label do not overlap when the first label and the second label are simultaneously displayed,

wherein a particular movement offset of the movement offset operation is determined based on dimensions of an intersection of a first candidate bounding box of the first label and a first candidate bounding box of the second label,

wherein the first candidate label locations of the first labels include the first candidate label location of the first label, and

wherein the first candidate label locations of the second labels include the first candidate label location of the second label.

20 . The non-transitory computer-readable medium of claim 19 , wherein the instructions, when executed by the one or more processors, also cause the one or more processors to:

determine first label locations of the first labels;

determine, based on the first label locations of the first labels, first bounding boxes of the first labels;

perform the one or more first deconfliction operations based on the first bounding boxes;

determine first label locations of the second labels;

determine, based on the first label locations of the second labels, first bounding boxes of the second labels; and

perform the one or more second deconfliction operations based on the first bounding boxes of the second labels.

Assignments (3)
SECURITY INTEREST Recorded Nov 17, 2025
From: FOREFLIGHT LLC; JEPPESEN FOREFLIGHT, INC.
To: APOLLO ADMINISTRATIVE AGENCY LLC, AS COLLATERAL AGENT
Reel/Frame 073622/0920 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2025
From: THE BOEING COMPANY
To: BOEING DIGITAL SOLUTIONS, INC.
Reel/Frame 073156/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2022
From: ORMOND, SHAWN ERIC; EMDE, GRAHAM; COLLYARD, CHRISTOPHER
To: THE BOEING COMPANY
Reel/Frame 062157/0134 →
Continuity (1)
Related Publication 20240200966A1 · Jun 20, 2024
References Cited (25)
US 5684940A · Freeman et al. · 1997 [cited by applicant]
US 9396697B2 · Adlers et al. · 2016 [cited by applicant]
US 10489954B1 · Loer et al. · 2019 [cited by applicant]
US 10769346B1 · Yu et al. · 2020 [cited by applicant]
US 10809090B2 · Cai et al. · 2020 [cited by applicant]
US 20050137791A1 · Agrawala et al. · 2005 [cited by applicant]
US 20060279432A1 · Mori · 2006 [cited by applicant]
US 20100246996A1 · Yamamoto · 2010 [cited by applicant]
US 20120120104A1 · Kuhne · 2012 [cited by applicant]
US 20120154430A1 · Matsushima et al. · 2012 [cited by applicant]
US 20180052594A1 · Bemel-Benrud et al. · 2018 [cited by applicant]
US 20180260986A1 · Girsova et al. · 2018 [cited by applicant]
US 20190362526A1 · Loer et al. · 2019 [cited by applicant]
US 20210142527A1 · Gyurdiev · 2021 [cited by examiner]
US 20220082404A1 · Barre · 2022 [cited by examiner]
US 20220207800A1 · Pozdnyakov · 2022 [cited by applicant]
US 20230083428A1 · Natori · 2023 [cited by applicant]
US 20240185556A1 · Kruelle · 2024 [cited by applicant]
EP 1502080A1 · 2005 [cited by applicant]
WO 03093768A1 · 2003 [cited by applicant]
QGIS User Guide, Release 3.4, 2020, pp. 1-625 (Year: 2020). [cited by examiner]
Pavlovec et al., Rapid Labels: Point-Feature Labeling on GPU, IEEE Transactions on Visualization and Computer Graphics, vol. 28, No. 1, Jan. 2022, pp. 604-613 (Year: 2022). [cited by examiner]
Extended European Search Report dated Apr. 26, 2024, pp. 1-12. [cited by applicant]
Qgis Project: “QGIS User Guide—Release 3.4”, Part I, Mar. 15, 2020, pp. 1-631, retrieved from internet Mar. 4, 2024. [cited by applicant]
Communication pursuant to Article 94(3) EPC for application No. 23204335.6 dated Sep. 24, 2025, pp. 1-5. [cited by applicant]