Battlefield detection radar vector map overlay display method based on GDAL

By embedding the functionality of a geographic information system into the radar display terminal and using the GDAL library for vector map overlay display, the problem of unintuitive target point data processing was solved, enabling flexible display of target location information and software localization, thus improving programming efficiency.

CN117112705BActive Publication Date: 2026-01-27NANJING ZHONGBODA ELECTRONIC TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310180168.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-28
Publication Date
2026-01-27
Estimated Expiration
2043-02-28

AI Technical Summary

Technical Problem

Existing technologies lack methods for embedding the functions of geographic information systems into radar display terminals and for processing and displaying target point data using symbolic methods, resulting in unintuitive and inflexible display of target location information.

Method used

A battlefield detection radar vector map overlay display method based on GDAL is adopted, which includes drawing range circles and azimuth scale lines on the radar display, performing screen coordinate to display center coordinate conversion, radar image rectangular coordinate to polar coordinate conversion, reading and writing vector map data, and displaying target point data through symbolization processing.

Benefits of technology

It enables intuitive and flexible display of target location information, shortens the program development cycle, improves the work efficiency of programmers, realizes software localization, and prevents the harm of software vulnerabilities and backdoors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117112705B_ABST
    Figure CN117112705B_ABST
Patent Text Reader

Abstract

The application discloses a battlefield detection radar vector map superimposed display method based on GDAL, which comprises the following steps: 1, drawing a range circle and a bearing scale line on a radar display; 2, in a radar control software P display interface, respectively carrying out screen coordinate and display center coordinate conversion, radar image rectangular coordinate and polar coordinate conversion; 3, reading vector map data; 4, writing vector map data; 5, target point track drawing: 5.1, obtaining point track data and storing the point track data in a data set. The application embeds the function of a geographic information system into a radar display terminal, and uses a symbolization method to process and display target point track data. The method can more intuitively and flexibly display target position information, meanwhile, rich map operation methods provided by the GDAL library can effectively shorten the development cycle of a program, improve the working efficiency of a programmer, and have high engineering application value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for overlaying and displaying battlefield detection radar vector maps based on GDAL. Background Technology

[0002] GIS (Geographic Information System) professionals typically use ArcGIS and QGIS to process geospatial data. However, ArcGIS is paid software, it is not open source, and it has drawbacks such as high requirements for computer hardware resources, cumbersome installation with many configuration files, slowing down the entire computer's performance when running the software, and supporting fewer data formats. QGIS, although open source and free software, has fewer functions, poor performance and stability, and supports fewer data formats.

[0003] In comparison, GDAL, as a free, open-source, and cross-platform library, provides standard development interfaces for secondary development. It can read, write, convert, and process raster data of multiple formats, and also has the ability to manipulate vector geographic data.

[0004] Because it provides publicly available source code, it offers a high-quality development platform for industry professionals to extend and further develop underlying functionalities.

[0005] GDAL supports a wide range of data formats, currently supporting nearly a hundred raster formats such as BMP, JPEG, HFA, and GeoTIFF; and more than ten vector formats such as DXF, GML, ESRI, and Shapefile. GDAL is easy to install and has low computer configuration requirements. Because GDAL is an open-source library based on the C / C++ platform, it has good scalability and portability. It only needs to be installed on the VS2015 development platform to run without affecting computer performance.

[0006] GDAL boasts high stability, supports languages ​​such as Java, Perl, Python, and .NET, and is easily extensible; adding a few subclasses can enable support for new formats. Currently, many software programs utilize GDAL, including GRASS, QGIS, and Google Earth.

[0007] For battlefield detection radar, the advantages of using GDAL-based vector map overlay display technology in radar control software are more obvious. However, there is still a lack of methods to embed the functions of geographic information systems into radar display terminals and to process and display target point data using symbolic methods. Summary of the Invention

[0008] The main objective of this invention is to provide a method for overlaying and displaying battlefield detection radar vector maps based on GDAL, which embeds the functions of a geographic information system into the radar display terminal and uses a symbolic method to process and display target point data, thereby enabling a more intuitive and flexible display of target location information.

[0009] The objective of this invention can be achieved by adopting the following technical solution:

[0010] A method for overlaying and displaying battlefield detection radar vector maps based on GDAL, including...

[0011] Step 1: Draw the range circle and azimuth scale on the radar display;

[0012] Step 2: In the radar control software P-display interface, perform the conversion between screen coordinates and display center coordinates, and the conversion between radar image rectangular coordinates and polar coordinates respectively.

[0013] Step 3: Reading vector map data;

[0014] Step 4: Writing vector map data;

[0015] Step 5: Draw the target point pattern:

[0016] Step 5.1: Obtain the dot data and store it in a dataset;

[0017] Step 5.2: Rearrange the read data:

[0018] Step 5.21: First, sort all data in ascending order by time;

[0019] Step 5.22: Based on the radar scanning method and the radar's location and orientation, sort all target data by azimuth and distance to correctly display the target's location on the map;

[0020] Step 5.23: Divide all target data into multiple time periods according to the radar's sampling interval and generate frame data;

[0021] Step 5.24: Display each frame of data according to its orientation and distance to correctly display the location and movement trajectory of all targets on the map;

[0022] Step 5.3: Construct the target point trace;

[0023] Step 5.4: Symbolize the target points and encapsulate them into elements;

[0024] Step 5.5: Create a map object and add data to the map so that it can be displayed on the map;

[0025] Step 6: Add the target point element, specifically:

[0026] Add the symbolized and encapsulated target point elements to a dedicated layer for storing target point elements;

[0027] Step 7: Refresh the layer with added elements.

[0028] Preferably, step 1, drawing the range circle and azimuth scale on the radar display, is as follows:

[0029] 1.1. By calling the function Arc(x1,y1,x2,y2,x3,y3,x4,y4) in the CDC class, a set of concentric circles is drawn to realize the drawing of distance circles, so as to quickly determine the target distance. The number of distance circles can be selected by yourself, and the number can be 4.

[0030] 1.2. In the non-eccentric state of the radar, by controlling the azimuth angle interval to draw azimuth scale lines evenly, drawing one scale line every degree, the azimuth scale lines with even intervals can make the azimuth position of the target scanned by the radar on the display more accurate.

[0031] In a non-eccentric state, evenly spaced scale lines help operators to more intuitively understand the distribution of targets within the radar scanning area, thereby enabling them to make decisions more quickly.

[0032] A typical scale line is 5 pixels long. When the azimuth angle is a multiple of 5, the scale line is drawn to be 10 pixels longer than the typical scale line. This is to make the scale line at the azimuth angle a multiple of 5 more obvious, making it easier for radar operators to identify and judge.

[0033] When the azimuth angle is an integer multiple of 30, a radius is drawn on that azimuth to achieve a special representation of the azimuth angle being an integer multiple of 30 on the azimuth scale line. This helps radar operators to find targets at specific angles more quickly and improves the efficiency of radar use.

[0034] 1.3 Draw equal scale lines above the distance and azimuth scale lines, with a spacing of 5 pixels between the distance and azimuth scale lines;

[0035] 1.4. Implement the drawing of auxiliary graphics, including equidistant concentric circles and radial lines with equal azimuth angles;

[0036] 1.5. Overlay the drawn range circle, azimuth scale line, isochronous scale line and auxiliary graphics onto the display interface of the radar control software.

[0037] Preferably, in step 2, the conversion between screen coordinates and display center coordinates, and the conversion between radar image rectangular coordinates and polar coordinates are performed in the radar control software P-display interface, as follows:

[0038] a. Conversion between screen coordinates and display center coordinates:

[0039] Construct X'O'Y' and XOY Cartesian coordinate systems. X'O'Y' is a coordinate system relative to the display center (P), and XOY is a logical coordinate system relative to the screen window. Establish points P and O', where O'(X0, Y0) is the simulated radar scanning center. Point P can be represented in two ways:

[0040] In the coordinate system X'O'Y' with the center of the display as the origin, the coordinates of point P are (x1, y1);

[0041] In the XOY coordinate system with the top left corner of the screen window as the origin, the coordinates of point P are (x, y).

[0042] Using the location of the radar, i.e. the scanning center, as the display center, the conversion formula between the two rectangular coordinate systems is: X = X' + X0, Y = Y0 - Y';

[0043] According to the coordinate transformation formula, the transformation relationship between (x1, y1) and (x, y) is as follows:

[0044] x = x1 + X 0, , Y = Y0 - y1.

[0045] Preferably, step 2 further includes:

[0046] b. Conversion between rectangular and polar coordinates in radar images:

[0047] The target's position in the polar coordinate system is represented by distance and azimuth (R, θ), and the target's position in the rectangular coordinate system is represented by (x1, y1).

[0048] The transformation relationship between the two coordinate systems is as follows:

[0049] x1 = Rsinθ, y1 ​​= Rcosθ;

[0050] The conversion relationship between polar coordinates and rectangular coordinates in a coordinate system with the top left corner of the screen window as the origin is: x = (int)(X0 + Rsinθ), y = (int)(Y0 - Rcosθ).

[0051] Preferably, step 4, writing the vector map data, specifically involves:

[0052] Create a data source and open it in write mode;

[0053] Create a new layer;

[0054] Add, modify, and delete features to a layer.

[0055] Preferably, between steps 4 and 5, there is also a step of rotating the scan line around the center of the radar PPI, specifically: redrawing a scan line every preset time interval and erasing the scan line drawn at the previous moment.

[0056] Preferably, the step of rotating the scan line around the radar PPI center specifically includes:

[0057] 1) Add a Timer control to WindowsForm and set its properties, which are time interval and enabled status;

[0058] 2) Write code in the Timer_Tick event to redraw a scan line at regular time intervals and erase the scan line drawn at the previous moment;

[0059] 3) Create a "scanline graphics layer" to load scanline objects;

[0060] 4) Before drawing each scan line, clear the graphic elements in the "Scan Line Graphics Layer";

[0061] 5) Construct scanline elements and add them to the "Scanline Graphics Layer";

[0062] 1) Repeat steps 2)-5) to achieve the effect of the scan line rotating around the center of the radar PPI.

[0063] Preferably, it also includes step 8: while drawing the target points, tracking and analyzing the target, adding annotations and information windows to display the attribute information of the target points;

[0064] Step 9: Combine the drawing of target points with the drawing of scan lines to create a dynamic radar effect.

[0065] Beneficial technical effects of the present invention:

[0066] This invention embeds the functions of a geographic information system into a radar display terminal and uses a symbolic method to process and display target point data. This method can display target location information more intuitively and flexibly. At the same time, the rich map operation methods provided by the GDAL library can effectively shorten the program development cycle, improve the work efficiency of programmers, and has high engineering application value. It realizes the independent controllability of domestic software, and prevents software vulnerabilities and backdoors from causing harm and loss to national security and trade secrets. Attached Figure Description

[0067] Figure 1This is a schematic diagram of the software flow displayed on the P screen according to an embodiment of the present invention;

[0068] Figure 2 This is a schematic diagram of the area set on the bottom surface of the P display according to an embodiment of the present invention;

[0069] Figure 3 This is a schematic diagram of the P-display drawing interface according to an embodiment of the present invention;

[0070] Figure 4 This is a schematic diagram of a rectangular coordinate system transformation according to an embodiment of the present invention;

[0071] Figure 5 This is a schematic diagram of polar-rectangular coordinate system transformation according to an embodiment of the present invention. Detailed Implementation

[0072] To enable those skilled in the art to understand the technical solution of the present invention more clearly, the present invention will be further described in detail below with reference to the embodiments and accompanying drawings, but the embodiments of the present invention are not limited thereto.

[0073] like Figures 1-5 As shown, the battlefield detection radar vector map overlay display method based on GDAL provided in this embodiment determines the geographical location information of the radar and the radar detection parameters. The PC (computer) directly obtains radar echo data from the data acquisition board through the CPCI bus and puts the data into the memory unit through DMA, thereby realizing fast and efficient data transmission and processing. This step quickly transmits radar echo data to computer memory, providing basic support for data processing and analysis. "DMA" represents direct memory access, and "CPCI" represents compactPCI.

[0074] The control software reads point and line elements from the vector map and performs pre-processing rendering before drawing. Then, it calculates the point and line elements in the vector map based on the radar's latitude and longitude position to determine whether they are within the radar's effective range. If they are within the range, the echo and map data are overlaid and drawn, and finally displayed on the radar control software's interface. This step is the fusion processing of radar data and vector map data. By overlaying radar data with vector map data, users can simultaneously observe radar echoes and map information on the radar control software's display interface, improving combat efficiency.

[0075] The method for overlaying vector maps includes the following steps:

[0076] Step 1: Draw range circles and azimuth scale lines on the radar display to help operators quickly determine the target's location and distance, as follows:

[0077] 1.1. By calling the function Arc(x1,y1,x2,y2,x3,y3,x4,y4) in the CDC class, a set of concentric circles is drawn to realize the distance circle drawing, so as to quickly determine the target distance. The number of distance circles can be selected by the user, and the number can be 4. The P display bottom surface setting area is as follows. Figure 2 As shown;

[0078] 1.2. In the non-eccentric state of the radar, by controlling the azimuth angle interval to draw azimuth scale lines evenly, drawing one scale line every degree, the azimuth scale lines with even intervals can make the azimuth position of the target scanned by the radar on the display more accurate.

[0079] In a non-eccentric state, evenly spaced scale lines help operators to more intuitively understand the distribution of targets within the radar scanning area, thereby enabling them to make decisions more quickly.

[0080] A typical scale line is 5 pixels long. When the azimuth angle is a multiple of 5, the scale line is drawn to be 10 pixels longer than the typical scale line. This is to make the scale line at the azimuth angle a multiple of 5 more obvious, making it easier for radar operators to identify and judge.

[0081] When the azimuth angle is an integer multiple of 30, a radius is drawn on that azimuth to achieve a special representation of the azimuth angle being an integer multiple of 30 on the azimuth scale line. This helps radar operators to find targets at specific angles more quickly and improves the efficiency of radar use.

[0082] 1.3 Draw equal scale lines above the distance and azimuth scale lines, with a spacing of 5 pixels between the distance and azimuth scale lines;

[0083] 1.4. Implement the drawing of auxiliary graphics, including equidistant concentric circles and radial lines with equal azimuth angles;

[0084] The key code for drawing the distance circle and azimuth scale is as follows:

[0085] void CDisplay::OutRoll() / / Draws auxiliary graphics such as equidistant rings and azimuth scale lines.

[0086] {

[0087] / / Draw radar auxiliary graphics: equidistant concentric circles and radial lines with equal azimuth angles

[0088] for(int xx=1; xx<=N; xx++)

[0089] {

[0090] memDC.Arc(xc-xx*r / N,yc-xx*r / N,xc+xx*r / N,

[0091] yc+xx*r / N,xc,yc-xx*r / N*2,xc,yc-xx*r / N*2);

[0092] }

[0093] for(xx=1; xx<=360 / M; xx++)

[0094] {

[0095] memDC.MoveTo(xc,yc);

[0096] memDC.LineTo(xc+r*sin(xx*M*PI / 180),yc-r*cos(xx*M*PI / 180));

[0097] }

[0098]

[0099] / / Draw equal scale lines

[0100] for(int i = 0; i < 360; i++)

[0101] {

[0102]

[0103] memDC.MoveTo(xc+(int)((r-10)*sin(PI / 180*i)),yc-(int)((r-10)*cos(PI / 18

[0104] 0*i)));

[0105] memDC.LineTo(xc+(int)(r*sin(PI / 180*i)),yc-(int)(r*cos(PI / 180*i)));

[0106] }

[0107] }

[0108] 1.5. Overlay the drawn range circle, azimuth scale line, isochronous scale line and auxiliary graphics on the display interface of the radar control software to help operators quickly determine the target's azimuth and distance;

[0109] Step 2: In the radar control software's P-display interface, it is necessary to convert between screen coordinates and display center coordinates, and between radar image rectangular coordinates and polar coordinates.

[0110] a. Conversion between screen coordinates and display center coordinates, such as Figure 4 As shown;

[0111] exist Figure 4 In the diagram, coordinate system X'O'Y' is the coordinate system relative to the PII display center, and coordinate system XOY is the logical coordinate system relative to the screen window.

[0112] In the diagram, point P can be represented in two ways:

[0113] (1) (x1, y1) are coordinates relative to the center of the P display;

[0114] (2) (x, y) are coordinates relative to the screen window;

[0115] In the diagram, O' represents the simulated radar scanning center, which is also the display center of the P display area.

[0116] A PC can be used as a display terminal, and an LCD monitor can be used to display radar images. The display coordinate system used is as follows: Figure 4 The logical coordinate system XOY shown has the upper left corner of the computer screen as the origin. The pixels on the screen correspond one-to-one with the positions in the video memory.

[0117] When designing the display software interface, the location of the radar, i.e., the scanning center, is used as the display center. The conversion formula between the two Cartesian coordinate systems is as follows:

[0118] X = X' + X0, Y = Y0 - Y';

[0119] In the coordinate system X'O'Y' with the center of the display as the origin, the coordinates of point P are (x1, y1);

[0120] In the XOY coordinate system with the top left corner of the screen window as the origin, the coordinates of point P are (x, y).

[0121] According to the coordinate transformation formula, the transformation relationship between (x1, y1) and (x, y) is as follows:

[0122] x = x1 + X 0, Y = Y0 - y1;

[0123] b. Conversion between rectangular and polar coordinates in radar images:

[0124] Typically, the information detected by radar and transmitted to the radar display terminal is given in polar coordinates (radial distance R, azimuth angle θ).

[0125] According to convention, the position of the target in the polar coordinate system is represented by distance and orientation (R,θ), and the position of the target in the rectangular coordinate system is represented by (x1,y1).

[0126] The transformation relationship between the two coordinate systems is as follows:

[0127] x1 = Rsinθ, y1 ​​= Rcosθ;

[0128] In this embodiment, the radar display interface is a circular display interface with (X0,Y0) (corresponding to (420,420)) as the display center and R (R is 400 pixels) as the radius. Therefore, for ease of display, it is necessary to convert the polar coordinates to rectangular coordinates in a coordinate system with the upper left corner of the screen window as the origin. The conversion formula is: x=(int)(X0+Rsinθ), y=(int)(Y0-Rcosθ). Since subsequent steps require data processing and display based on the coordinate system of the radar image, the coordinate transformation operation in step 2 needs to be completed first to ensure that the data can be correctly displayed on the radar image.

[0129] Step 3: Reading vector map data:

[0130] The structure of the ORG class is: Data Source -> Layer -> Feature -> Attribute. Each data format should have a corresponding driver. The corresponding driver needs to be loaded before operating on the data. The core code is as follows:

[0131]

[0132]

[0133]

[0134]

[0135]

[0136] Step 4, Writing Vector Map Data: The steps for writing vector data are as follows:

[0137] Create a data source and open it in write mode;

[0138] Create a new layer;

[0139] Adding, modifying, and deleting features to a layer refers to adding, modifying, or deleting information about geographic objects in a vector map. For example, adding a new building, modifying the location or attributes of an existing building, or deleting an existing building in a city map. The core code is as follows:

[0140]

[0141]

[0142]

[0143]

[0144] Step 5: The steps for drawing the target points are as follows:

[0145] Step 1: Acquire real-time target point data using radar and store it in a dataset. This step can be achieved by using appropriate database manipulation techniques (such as SQL queries) or data import tools provided by GIS software.

[0146] Step 2: Rearrange the read data:

[0147] In practice, radar displays data based on the time, azimuth, and range of the received target echoes. Therefore, all target data in the dataset must be rearranged in this order.

[0148] First, all data is sorted in ascending order by time to ensure that the received radar signals are continuous in time. Then, starting from the power-on time, all data is arranged in chronological order. Based on the radar scanning method (such as PPI, RHI, etc.) and the radar's position and orientation, all target data is sorted by azimuth and distance to correctly display the target's position on the map. All target data is divided into multiple time periods according to the radar's sampling interval (antenna scanning period) to generate frame data. The data is divided into multiple frames for display according to the scanning mode. Each frame is displayed by azimuth and distance, which can intuitively show the target's position information in the radar coordinate system. This allows for the correct display of the position and trajectory of all targets on the map.

[0149] Step 3: Construct the target point trace:

[0150] The target point can be abstracted into a Point object for construction:

[0151] IPoint trackPoint = new PointClass()(creates a Point object, you can use ESRI's PointClass);

[0152] trackPoint.PutCoords(double X, double Y) (Calls the PutCoords method of the Point object to set the coordinates of the point, i.e., the position of the target on the map);

[0153] Step 4: Symbolize the target points and encapsulate them into elements:

[0154] Since the target dots are all Point objects, we first use the ISimpleMarkerSymbol interface to generate specific dot symbols, setting the size, style, and color of the dot symbols. Then, we use the IMarkerElement interface to encapsulate them, associating the symbolized dots with the dot elements. That is, we set the dot symbols as the symbol properties of the dot elements and set the position information of the dots as the geometric shape properties of the dot elements.

[0155] / / Symbolization

[0156] ISimpleMarkerSymbol Targetmarksymbol=new

[0157] SimpleMarkerSymbolClass();

[0158] / / Set the size of the point

[0159] Targetmarksymbol.Size = 5;

[0160] / / Set the style of the dot

[0161] Targetmarksymbol.Style=esriSimpleMarkerStyle.

[0162] esriSMSCircle;

[0163] / / Set the color of the dot

[0164] Targetmarksymbol.Color=GetRGB(255,0,0);

[0165] / / Encapsulation

[0166] IMarkerElement pMarkerElement;

[0167] pMarkerElement=new MarkerElementClass();

[0168] pMarkerElement.Symbol=pMarkerSymbol;

[0169] IElement pElement;

[0170] pElement=pMarkerElement as IElement;

[0171] pElement.Geometry=targetPoint;

[0172] That is: creating an instance of the ISimpleMarkerSymbol interface to generate dotted symbols;

[0173] Set the size, style, and color of the dotted symbols;

[0174] Create an instance of the IMarkerElement interface to encapsulate dotted symbols;

[0175] The symbolized dots and dots are associated, that is, the dot symbol is set as the symbol attribute of the dot element, and the position information of the dots is set as the geometric shape attribute of the dot element.

[0176] Step 5: Create a map object and add data to it. You can use ESRI's MapControl to create a map object and add the read target data to the map. The specific steps are as follows:

[0177] Create a MapControl control object;

[0178] To create an IMap object, you can use ESRI's MapClass;

[0179] Assigning an IMap object to the Map property of a MapControl control object creates a map object, thus associating the map with the control.

[0180] Use the AddLayer method of the IMap object to add the target data to the map so that it can be displayed on the map;

[0181] Step 6: Add the target point element:

[0182] The symbolized and encapsulated target point elements are added to a dedicated layer (e.g., TargetGraphicsContainer) by using the AddElement method in the IGraphicsContainer interface. (TargetGraphicsContainer is a layer used to store target point elements; it is an object that implements the IGraphicsContainer interface.) In other words, the encapsulated target point elements are added to the Map object so that they can be displayed on the map.

[0183] Step 7: Refresh the display.

[0184] Elements added to the map need to be refreshed to be displayed on the screen. To reduce the impact of map data redrawing on the display effect, the PartialRefresh method is selected, which only needs to refresh the layer where the elements were added.

[0185] In this embodiment, in Step 7: the PartialRefresh method in the IMap interface is used to refresh a portion of the map area containing the target point layer to display the newly added target point elements. It should be noted that if the PartialRefresh method of the map is also used when drawing the radar scan lines, the layer containing the radar scan lines should be refreshed first, and then the layer containing the target points should be refreshed to avoid the target points being covered by the radar scan lines.

[0186] In this embodiment, for steps 3 and 4: before starting to draw the target point traces, it is necessary to read the vector map data as the base map and write the target point trace data into the base map. Therefore, the vector map data must be read first, and then the target point trace data must be written into the vector map data in order to finally realize the drawing and display of the target point traces.

[0187] In this embodiment, for steps 3 and 4: first, it is determined whether the given file exists; if it does not exist, false is returned.

[0188] Then register all file format drivers to ensure that SHP files can be read correctly;

[0189] Open the input SHP data file and determine if it was opened successfully;

[0190] An SHP file may contain multiple layers. Get the number of layers in the SHP file and get the first layer.

[0191] Now we begin reading the elements within the layer: First, we use Layer::ResetReading() to ensure we start reading from the beginning of the layer;

[0192] Then iterate through all the features of the layer and store them in the 3D vector array pts;

[0193] Once the reading is complete, close the data source and return true.

[0194] In this embodiment, the code in steps 3 and 4 is a C++ program used to read a vector map file (SHP file) with a specified filename, extract the vertex coordinates of the polylines, and store them in a vector. <vectoreigen::vector3f>In the object pts, returning true indicates successful reading, while returning false indicates reading failure (the vector map file is loaded first, and then the target point data is added to the vector map file).

[0195] In this embodiment, step 4 specifically includes:

[0196] Create a vector map data source and open it in write mode so that vector data can be written to the data source;

[0197] Create a new layer so that features can be added to it;

[0198] Create an attribute table for the layer, and define the attribute table fields for the layer so that features and their attributes can be added to the layer;

[0199] Loop through the input point data, create a point object and a feature object, and assign the point object and attributes to the feature object;

[0200] Adding feature objects to layers and writing feature objects to layers completes the process of writing data into vector map data.

[0201] Destroy the data source and feature object, where the feature object represents a geographic entity, and create a new feature by setting its attributes and geometry information.

[0202] In this embodiment, the method for implementing the scanning line working process is as follows: the effect of the scanning line rotating around the radar PPI center is actually the process of redrawing a scanning line at certain time intervals and erasing the scanning line drawn at the previous moment.

[0203] The steps are as follows:

[0204] 1) Add a Timer control to Windows Form and set its properties, such as time interval and enabled status. Windows Form is a user interface (UI) framework in the .NET Framework, and Timer is a timer control in the .NET Framework used to trigger the Tick event after a preset time interval.

[0205] 2) Write code in the Timer_Tick event to redraw a scan line at regular time intervals and erase the scan line drawn at the previous moment;

[0206] 3) Create a "scanGraphicsContainer" to load the scanline objects;

[0207] 4) Before each scan line is drawn, clear the graphic elements in the scanGraphicsContainer (i.e., the scan line elements drawn last time);

[0208] 5) Construct scanline elements and add them to the scanGraphicsContainer;

[0209] 1) Repeat steps 2)-5) to achieve the effect of the scan line rotating around the center of the radar PPI;

[0210] This step can be implemented using a C# timer, as shown in the code below.

[0211] scanGraphicsContainer.DeleteAllElements();

[0212] scanline=Line(RadarLLocatPoint,pointCollection.

[0213] get_Point(p.PointCount-1-i));

[0214] scanGraphicsContainer.AddElement(scanline,0);

[0215] Where Line is used to construct scanline elements and returns an IElement type; RadarLLocatPoint is the center point object;

[0216] `pointCollection` is a set of points that stores the outermost points that are equally spaced from the ring.

[0217] By setting up a dedicated "scanline graphics layer" (scanGraphicsContainer) to load scanline objects, all graphic elements in the scanGraphicsContainer (i.e., the scanline elements drawn when the Tick event was triggered last time) are cleared before each scanline is drawn, and then the newly drawn scanline elements are added to this layer.

[0218] In this embodiment, after Step 7, there are Steps 8 and 9, which are as follows:

[0219] While drawing the target points, the system tracks and analyzes the target, adds annotations and information windows to display the attribute information of the target points, making it easier for users to analyze and query the target points.

[0220] By combining the drawing of target points with the drawing of scan lines to create a dynamic radar effect, the dynamic effect of radar scanning can be achieved by continuously adding target point elements in a timer while refreshing the position of the scan lines.

[0221] In summary, this embodiment embeds the functions of a geographic information system into a radar display terminal and uses a symbolic method to process and display target point data. This method can display target location information more intuitively and flexibly. At the same time, the rich map operation methods provided by the GDAL library can effectively shorten the program development cycle, improve the work efficiency of programmers, and has high engineering application value. It realizes the independent controllability of domestic software, prevents software vulnerabilities and backdoors, and prevents harm and loss to national security and trade secrets.

[0222] The above description is merely a further embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or modifications made by those skilled in the art within the scope disclosed in the present invention, based on the technical solution and concept of the present invention, shall fall within the scope of protection of the present invention.

Claims

1. A method for overlaying and displaying battlefield detection radar vector maps based on GDAL, characterized in that: include Step 1: Draw the range circle and azimuth scale on the radar display; Step 2: In the radar control software P-display interface, perform the conversion between screen coordinates and display center coordinates, and the conversion between radar image rectangular coordinates and polar coordinates respectively. Step 3: Reading vector map data; Step 4: Writing vector map data; Step 5: Draw the target point pattern: Step 5.1: Obtain the dot data and store it in a dataset; Step 5.2: Rearrange the read data: Step 5.21: First, sort all data in ascending order by time; Step 5.22: Based on the radar scanning method and the radar's location and orientation, sort all target data by azimuth and distance to correctly display the target's location on the map; Step 5.23: Divide all target data into multiple time periods according to the radar's sampling interval and generate frame data; Step 5.24: Display each frame of data according to its orientation and distance to correctly display the location and movement trajectory of all targets on the map; Step 5.3: Construct the target point trace; Step 5.4: Symbolize the target points and encapsulate them into elements; Step 5.5: Create a map object and add data to the map so that it can be displayed on the map; Step 6: Add the target point element, specifically: Add the symbolized and encapsulated target point elements to a dedicated layer for storing target point elements; Step 7: Refresh the layer with added elements.

2. The method for overlaying and displaying battlefield detection radar vector maps based on GDAL according to claim 1, characterized in that: Step 1, drawing the range circle and azimuth scale lines on the radar display, is as follows: 1.

1. By calling the function Arc(x1,y1,x2,y2,x3,y3,x4,y4) in the CDC class, a set of concentric circles is drawn to realize the drawing of distance circles, so as to quickly determine the target distance. The number of distance circles can be selected by yourself, and the number can be 4. 1.

2. In the non-eccentric state of the radar, by controlling the azimuth angle interval to draw azimuth scale lines evenly, drawing one scale line every degree, the azimuth scale lines with even intervals can make the azimuth position of the target scanned by the radar on the display more accurate. In a non-eccentric state, evenly spaced scale lines help operators to more intuitively understand the distribution of targets within the radar scanning area, thereby enabling them to make decisions more quickly. A typical scale line is 5 pixels long. When the azimuth angle is a multiple of 5, the scale line is drawn to be 10 pixels longer than the typical scale line. This is to make the scale line at the azimuth angle a multiple of 5 more obvious, making it easier for radar operators to identify and judge. When the azimuth angle is an integer multiple of 30, a radius is drawn on that azimuth to achieve a special representation of the azimuth angle being an integer multiple of 30 on the azimuth scale line. This helps radar operators to find targets at specific angles more quickly and improves the efficiency of radar use. 1.3 Draw equal scale lines above the distance and azimuth scale lines, with a spacing of 5 pixels between the distance and azimuth scale lines; 1.

4. Implement the drawing of auxiliary graphics, including equidistant concentric circles and radial lines with equal azimuth angles; 1.

5. Overlay the drawn range circle, azimuth scale line, isochronous scale line and auxiliary graphics onto the display interface of the radar control software.

3. The method for overlaying and displaying battlefield detection radar vector maps based on GDAL according to claim 1, characterized in that: Step 2, in the radar control software P-display interface, performs the conversion between screen coordinates and display center coordinates, and the conversion between radar image rectangular coordinates and polar coordinates, as follows: a. Conversion between screen coordinates and display center coordinates: Construct X'O'Y' and XOY Cartesian coordinate systems. X'O'Y' is a coordinate system relative to the display center (P), and XOY is a logical coordinate system relative to the screen window. Establish points P and O', where O' (X0, Y0) is the simulated radar scanning center. Point P can be represented in two ways: In the coordinate system X'O'Y' with the center of the display as the origin, the coordinates of point P are (x1, y1); In the XOY coordinate system with the top left corner of the screen window as the origin, the coordinates of point P are (x, y). Using the location of the radar, i.e. the scanning center, as the display center, the conversion formula between the two rectangular coordinate systems is: X=X'+X0, Y=Y0-Y'; According to the coordinate transformation formula, the transformation relationship between (x1, y1) and (x, y) is: x = x1 + X 0, , Y = Y0 - y1.

4. The method for overlaying and displaying battlefield detection radar vector maps based on GDAL according to claim 1, characterized in that: Step 2 also includes: b. Conversion between rectangular and polar coordinates in radar images: The target's position in the polar coordinate system is represented by distance and azimuth (R, θ), and the target's position in the rectangular coordinate system is represented by (x1, y1). The transformation relationship between the two coordinate systems is: x1=Rsinθ, y1=Rcosθ; The conversion formula for polar coordinates to rectangular coordinates in a coordinate system with the top left corner of the screen window as the origin is: x = (int)(X0 + Rsinθ), y = (int)(Y0 - Rcosθ).

5. The method for overlaying and displaying battlefield detection radar vector maps based on GDAL according to claim 1, characterized in that: Step 4, writing the vector map data, specifically involves: Create a data source and open it in write mode; Create a new layer; Add, modify, and delete features to a layer.

6. The method for overlaying and displaying battlefield detection radar vector maps based on GDAL according to claim 1, characterized in that: Between steps 4 and 5, there is also a step of rotating the scan line around the center of the radar PPI, specifically: redrawing a scan line every preset time interval and erasing the scan line drawn at the previous moment.

7. The method for overlaying and displaying battlefield detection radar vector maps based on GDAL according to claim 6, characterized in that: The step of rotating the scan line around the center of the radar PPI is specifically as follows: 1) Add a Timer control to WindowsForm and set its properties, which are time interval and enabled status; 2) Write code in the Timer_Tick event to redraw a scan line at regular time intervals and erase the scan line drawn at the previous time. 3) Create a "scanline graphics layer" to load scanline objects; 4) Before drawing each scan line, clear the graphic elements in the "Scan Line Graphics Layer"; 5) Construct scanline elements and add them to the "Scanline Graphics Layer"; 6) Repeat steps 2)-5) to achieve the effect of the scan line rotating around the center of the radar PPI.

8. The method for overlaying and displaying battlefield detection radar vector maps based on GDAL according to claim 1, characterized in that: It also includes step 8, which involves tracking and analyzing the target while drawing the target points, and adding annotations and information windows to display the attribute information of the target points.

9. A method for overlaying and displaying battlefield detection radar vector maps based on GDAL according to claim 8, characterized in that: It also includes step 9, which combines the drawing of target points with the drawing of scan lines to create a dynamic radar effect.

Citation Information

Patent Citations

  • Method for realizing overlapping display of background map supporting accurate matching and real-time roaming

    CN104932858A

  • Radar communication networking detection display control method and system

    CN113411372A