A Novel Infringement Detection Method for GIS Vector Data

There is undoubtedly a groundswell of support for the concept of geographic data sharing with the rapid development and wide-ranging application of geographic information science. However, copyright protection and infringement detection in the process of geographic data sharing has always been an important issue that needs to be addressed urgently. In this paper, we present a novel infringement detection method for GIS vector data to compensate for the shortcomings of vector data digital watermarking technology in infringement detection. The method determines whether infringement exists by the duplication degree between the original data and the vector data to be detected in three features including feature features, included angle features and vertex features which gets by using the spatial information of vector data to perform the feature matching based on GeoJSON format data. The experimental results indicate that the proposed algorithm can effectively resist common geometric attacks, such as interpolation attack, deletion attack, similarity transformation attack, feature order scrambling attack, and feature simplification attack, on vector data, which proves that the proposed algorithm has excellent robustness and meets the requirements of practical application.


Introduction
Geographical data is the symbolic expression of the relationship between various geographical features and phenomena in the earth's surface space and is an important resource for promoting the national economy and a necessary foundation for earth science research [1].In recent years, the internet has improved the efficiency of data transmission greatly due to the rapid development of computer technology.Under these circumstances, the spread of geographic data has become very convenient, resulting in serious problems such as piracy and leakage of geographic data, illegal profits, uncompensated use, and other phenomena that are rampant increasingly.The illegal copying and dissemination of geographic data not only infringes the legitimate rights and interests of data producers, but also disrupts the normal order of the industries related to geographic information; moreover, the leakage of high-precision geographic data threatens national security [2].For these reasons, geographic data owners attach great importance to geographic data, and most of them hold a conservative attitude towards geographic data sharing.They are reluctant to share geographic data, which greatly hinders the sharing and application of geographic data.Data producers are reluctant to share geographic data,

•
Similarity transformation attack: The similarity transformation attack is a geometrically similarity transformation of the original vector data, including translation attack, rotation attack, and scaling attack [16,18,19].The spatial coordinates of the features will generally differ from the original data after the data is subjected to this type of attack.

•
Feature order scrambling attack: The feature order scrambling attack disrupts the order of the feature in the original vector data [15,17,19], such as modifying the FID of a feature from 0 to 1 in a shapefile vector data.This type of attack only modifies the order of features without modifying the coordinates of the features, thus the data before and after the attack does not change visually.

•
Feature simplification attack: The feature simplification attack aims to simplify the line and polygon vector data by using the Douglas-Peucker algorithm [12,18].

•
Coordinate system conversion attack: The coordinate system conversion attack means converting the current coordinate system of the original vector data to another coordinate system [18].
Vector data digital watermarking algorithms can be divided into the spatial domain algorithm, frequency domain algorithm, geometric domain algorithm, and zero-watermarking algorithm according to the watermark embedding position and the source of the watermark information.The spatial domain watermarking algorithm uses quantification, coordinate mapping, and other methods to embed the watermark by modifying the vector data coordinate values within the error tolerance, thus achieving strong resistance to addition and deletion attacks [20][21][22][23][24].The frequency domain watermarking algorithm embeds the watermark into the coordinate transform domain coefficients such as DFT (discrete Fourier transform), DCT (discrete cosine transform), DWT (discrete wavelet transform), which improves the ability of the algorithm to resist attacks such as noise and translation [25][26][27][28].The geometric domain-based watermarking algorithm embeds the watermark into the geographic data geometric features, including angle, distance, arc length, and can be more resistant to geometric attacks such as rotation, scaling, and translation [29][30][31][32].The zero-watermarking algorithm uses the characteristics of the digital works to construct the watermark.The process of constructing the watermark does not have to change the information of the original digital work; therefore, the accuracy of the vector data after embedding the watermark is unaffected.The drawback is that although most algorithms are resistant to certain attacks, the robustness is generally poor [33][34][35][36][37].In summary, the current research on vector data digital watermarking is based on the data structure characteristics of vector data for watermark embedding or watermark information generation.Watermark embedding and extraction accuracy are significantly affected by vector data structure, and it is basically impossible to extract valid watermark information from the data if the vector data is greatly damaged (e.g., more than 90% of the data is deleted), which is a common and inevitable shortage in the current research of vector data digital watermarking.
Vector data uses points, lines, and polygons to digitize spatial entities, where lines and polygons are composed of multiple point coordinates, two points can be connected into one line, three points can form one polygon, and the final object of the operation and transformation of most vector data digital watermarking algorithms are point coordinates.For example, the watermark information is directly embedded into the coordinates in the spatial domain algorithm; the lengths and included angles of the line segments are calculated by the point coordinates as the feature information to generate a digital watermarking in the zero-watermark algorithm.The zero-watermarking algorithm is used as a reference.In this paper, we propose a novel infringement detection method for GIS vector data based on the GeoJSON format with point coordinates as the manipulation object, which does not adopt the vector data digital watermarking technology but matches the point coordinates which are the smallest constituent unit of the vector data in GeoJSON, and whether there is any infringement is determined according to the duplicated degree of the vector data in order to compensate for the shortages in current vector data digital watermarking research.

GeoJSON Data Structure of Vector Data
The GeoJSON data structure of all vector data of point, line, and polygon types described in this chapter follows the Simple Feature Specification in OGC standard [38,39].

Point
The representation of point vector data in GeoJSON has two geometric types, one is Point and the other is MultiPoint.The organization of the Point type vector data in the GeoJSON format is shown in Figure 1.For the Point type, each point is an independent feature in Figure 1a.In Figure 1b, the value of "type" key in "geometry" is Point, the value of "coordinates" key in "geometry" is the coordinates of only one point, the value type of "features" key is an array, and each element in the array is a JSON record.Each JSON record represents a point in Figure 1a.

GeoJSON Data Structure of Vector Data
The GeoJSON data structure of all vector data of point, line, and polygon types described in this chapter follows the Simple Feature Specification in OGC standard [38,39].

Point
The representation of point vector data in GeoJSON has two geometric types, one is Point and the other is MultiPoint.The organization of the Point type vector data in the GeoJSON format is shown in Figure 1.For the Point type, each point is an independent feature in Figure 1a.In Figure 1b, the value of "type" key in "geometry" is Point, the value of "coordinates" key in "geometry" is the coordinates of only one point, the value type of "features" key is an array, and each element in the array is a JSON record.Each JSON record represents a point in Figure 1a.The GeoJSON format data of MultiPoint type vector data is shown in Figure 2b.There is no difference in the visual representation of the spatial position between the MultiPoint type data and the Point type data when comparing Figure 2a with Figure 1a, but when comparing Figure 2b with Figure 1b, we can see that there are some local differences in the GeoJSON format of the two data types.In the GeoJSON format of the MultiPoint type vector data, the value of "type" key in "geometry" is MultiPoint, the value type of "coordinates" key in "geometry" is an array and this array can store multiple points coordinates, means that each JSON record in Figure 2b represents multiple points in Figure 2a.As shown in Figure 2a, the four points (x1, y1), (x2, y2), (x3, y3), and (x4, y4) are collectively stored in the first JSON record of the "features" key in Figure 2b and form a point feature.If the MultiPoint type is converted to the Point type, these four points will generate four JSON records which will form four points feature.Moreover, the GeoJSON format directly stores the coordinates of the points in the JSON record when storing the spatial information of the point vector data as can be seen from Figures 1b and 2b.The GeoJSON format data of MultiPoint type vector data is shown in Figure 2b.There is no difference in the visual representation of the spatial position between the MultiPoint type data and the Point type data when comparing Figure 2a with Figure 1a, but when comparing Figure 2b with Figure 1b, we can see that there are some local differences in the GeoJSON format of the two data types.In the GeoJSON format of the MultiPoint type vector data, the value of "type" key in "geometry" is MultiPoint, the value type of "coordinates" key in "geometry" is an array and this array can store multiple points coordinates, means that each JSON record in Figure 2b represents multiple points in Figure 2a.As shown in Figure 2a, the four points (x1, y1), (x2, y2), (x3, y3), and (x4, y4) are collectively stored in the first JSON record of the "features" key in Figure 2b and form a point feature.If the MultiPoint type is converted to the Point type, these four points will generate four JSON records which will form four points feature.Moreover, the GeoJSON format directly stores the coordinates of the points in the JSON record when storing the spatial information of the point vector data as can be seen from Figures 1b and 2b.

Line
Similar to point type data, line vector data has two geometric types of LineString and MultiLineString in GeoJSON format.For the LineString type, the value of "type" key in "geometry" is LineString, the value type of "coordinates" key in "geometry" is an array.The number of elements in the array represents the number of vertices of the line feature, as shown in Figure 3b.The GeoJSON format assigns a start and end point to each line feature, which produces the direction of the line feature.Line feature L1 in Figure 3c contains three line segments numbered 1, 2, and 3, while line feature L2 only contains one line segment, numbered 4. (x1, y1) and (x2, y2) are the start and end points of line segment 1, as shown in Figure 3c, then, it can be considered that the direction of (x2, y2) relative to (x1, y1) is the direction of line segment 1. Since line segment 1 and line segment 2 are spatially continuous, (x2, y2) is both the end point of line segment 1 and the starting point of line segment 2, while L1 and L2 are spatially discontinuous, the starting point of line segment 4 is not the end point of line segment 3.This rule can be used to determine whether the two line features or segments are connected in the GeoJSON data.
Line vector data spatial distribution of the MultiLineString type and the corresponding GeoJSON format data is shown in Figure 4. Figure 4a is slightly different from Figure 3a in the spatial representation of the data, but after parsing the GeoJSON structure onto the graph, it can be seen that lines 1, 2, 3, and 4 in Figure 4c are combined to belong to one line feature, ML1, which corresponds to the first JSON record of the "features" key in Figure 4b.In line feature ML1 of Figure 4c, fold line L1 and fold line L2 are spatially disconnected, so the three vertex coordinates of L1 and the three vertex coordinates of L2 are stored in the first element and second element of the "coordinates" key value, respectively, to indicate the spatial relationship between the lines.In addition, the GeoJSON format divides the line feature into the smallest unit (line segment) at first when storing the spatial information of the line vector data, and then stores the vertex coordinates of the line segment into the JSON data, as can be seen in Figures 3b and 4b.

Line
Similar to point type data, line vector data has two geometric types of LineString and MultiLineString in GeoJSON format.For the LineString type, the value of "type" key in "geometry" is LineString, the value type of "coordinates" key in "geometry" is an array.The number of elements in the array represents the number of vertices of the line feature, as shown in Figure 3b.The GeoJSON format assigns a start and end point to each line feature, which produces the direction of the line feature.Line feature L1 in Figure 3c contains three line segments numbered 1, 2, and 3, while line feature L2 only contains one line segment, numbered 4. (x1, y1) and (x2, y2) are the start and end points of line segment 1, as shown in Figure 3c, then, it can be considered that the direction of (x2, y2) relative to (x1, y1) is the direction of line segment 1. Since line segment 1 and line segment 2 are spatially continuous, (x2, y2) is both the end point of line segment 1 and the starting point of line segment 2, while L1 and L2 are spatially discontinuous, the starting point of line segment 4 is not the end point of line segment 3.This rule can be used to determine whether the two line features or segments are connected in the GeoJSON data.
Line vector data spatial distribution of the MultiLineString type and the corresponding GeoJSON format data is shown in Figure 4. Figure 4a is slightly different from Figure 3a in the spatial representation of the data, but after parsing the GeoJSON structure onto the graph, it can be seen that lines 1, 2, 3, and 4 in Figure 4c are combined to belong to one line feature, ML1, which corresponds to the first JSON record of the "features" key in Figure 4b.In line feature ML1 of Figure 4c, fold line L1 and fold line L2 are spatially disconnected, so the three vertex coordinates of L1 and the three vertex coordinates of L2 are stored in the first element and second element of the "coordinates" key value, respectively, to indicate the spatial relationship between the lines.In addition, the GeoJSON format divides the line feature into the smallest unit (line segment) at first when storing the spatial information of the line vector data, and then stores the vertex coordinates of the line segment into the JSON data, as can be seen in Figures 3b and 4b  (a)

Polygon
There are two types of Polygon in the GeoJSON format, including Polygon and MultiPolygon.The polygon vector data of the Polygon type and its GeoJSON format data are shown in Figure 5.For the Polygon type, the value type of "coordinates" key in "geometry" is an array, denoted as A[i].It can be seen in Figure 5a,b that:

•
When there is no hole in the polygon, there is only one element in A[i] When there is a hole in the polygon, multiple elements will be stored in A[i]

Polygon
There are two types of Polygon in the GeoJSON format, including Polygon and MultiPolygon.The polygon vector data of the Polygon type and its GeoJSON format data are shown in Figure 5.For the Polygon type, the value type of "coordinates" key in "geometry" is an array, denoted as A[i].It can be seen in Figure 5a,b that:

•
When there is no hole in the polygon, there is only one element in A[i] When there is a hole in the polygon, multiple elements will be stored in A[i] • The coordinates of the periphery vertices of the polygon are always stored in the first element of A[i], and the coordinates of the vertices of the hole are stored in the second and subsequent elements The spatial information of polygon vector data is stored as vertex coordinates in the GeoJSON format in the same way as line vector data.When stored, GeoJSON will start with the vertex of the northernmost polygon feature, the coordinates of other vertices of the polygon are stored in a counterclockwise direction, and use the starting point as the end point to complete the closing of the polygon.If there is a hole in the polygon, the vertex coordinates of the hole are stored in a clockwise direction, as shown in Figure 5c.

•
The coordinates of the periphery vertices of the polygon are always stored in the first element of A[i], and the coordinates of the vertices of the hole are stored in the second and subsequent elements The spatial information of polygon vector data is stored as vertex coordinates in the GeoJSON format in the same way as line vector data.When stored, GeoJSON will start with the vertex of the northernmost polygon feature, the coordinates of other vertices of the polygon are stored in a counterclockwise direction, and use the starting point as the end point to complete the closing of the polygon.If there is a hole in the polygon, the vertex coordinates of the hole are stored in a clockwise direction, as shown in Figure 5c.

Angle Calculation
In the GIS vector data, the angle between the features will remain unchanged if the spatially relative positional relationship between the two features does not change (equal or similar in geometry).In the algorithm of this paper, the angle is an important measure indicator.The calculation of the angle is based on point coordinates, and is divided into azimuth angle and included angle.Let the coordinates (x1, y1) and (x2, y2) be the start and end points of the line segment P, respectively;

Angle Calculation
In the GIS vector data, the angle between the features will remain unchanged if the spatially relative positional relationship between the two features does not change (equal or similar in geometry).In the algorithm of this paper, the angle is an important measure indicator.The calculation of the angle is based on point coordinates, and is divided into azimuth angle and included angle.Let the coordinates (x1, y1) and (x2, y2) be the start and end points of the line segment P, respectively; then, the included angle α between the line segment P and the x-axis can be calculated as depicted in Equation ( 1): Considering that the end point of the line segment P may be in different quadrants with respect to the direction of the starting point, the azimuth angle Az of the line segment P in four quadrants is shown in Figure 7.The calculation method of Az for line segment P in different quadrants are given in Equation ( 2).The range of Az is 0-360 then, the included angle α between the line segment P and the x-axis can be calculated as depicted in Equation ( 1): Considering that the end point of the line segment P may be in different quadrants with respect to the direction of the starting point, the azimuth angle Az of the line segment P in four quadrants is shown in Figure 7.The calculation method of Az for line segment P in different quadrants are given in Equation ( 2).The range of Az is 0-360°.After the azimuth calculation is completed, the included angle between the two connected line segments can be calculated.The calculation needs to be discussed separately according to the different quadrant positions of the two line segments.Since there are many cases in which two line segments are combined, only one example is shown here.As shown in Figure 8, the line segment P is connected to line segment L, and the directions of the two line segments are located in the first quadrant, the azimuth angle of the line segment P is ∠PAz and the azimuth angle of the line segment L is ∠LAz, then the included angle β between the line segment P and the line segment L can be calculated according to Equation (3).It should be noted that since the angle less than 180° is always taken as the included angle between the two line segments, there are two formulas for calculating the included angle β when the directions of the two line segments are in the same quadrant.For example, P' is the extension line of the line segment P as shown in Figure 8b.When the position of line segment L is between the y'-axis and P' (∠PAz > ∠LAz), the calculation of the included angle β should be performed using the Equation (3), and the calculation of the included angle β should be performed using the Equation (4) when the position of line segment L is between P' and the x'-axis (∠PAz < ∠LAz).After the azimuth calculation is completed, the included angle between the two connected line segments can be calculated.The calculation needs to be discussed separately according to the different quadrant positions of the two line segments.Since there are many cases in which two line segments are combined, only one example is shown here.As shown in Figure 8, the line segment P is connected to line segment L, and the directions of the two line segments are located in the first quadrant, the azimuth angle of the line segment P is ∠PAz and the azimuth angle of the line segment L is ∠LAz, then the included angle β between the line segment P and the line segment L can be calculated according to Equation (3).It should be noted that since the angle less than 180 • is always taken as the included angle between the two line segments, there are two formulas for calculating the included angle β when the directions of the two line segments are in the same quadrant.For example, P' is the extension line of the line segment P as shown in Figure 8b.When the position of line segment L is between the y'-axis and P' (∠PAz > ∠LAz), the calculation of the included angle β should be performed using the Equation (3), and the calculation of the included angle β should be performed using the Equation (4) when the position of line segment L is between P' and the x'-axis (∠PAz < ∠LAz).

Mean Center Calculation
For a polygon feature, the center coordinates will not change if the vertex coordinates are unchanged.Therefore, the center coordinates can be used to determine whether the spatial positions of the two polygons are the same.In order to guarantee the performance of the algorithm, the mean value of the vertex coordinates is used here to represent the center of the polygon.Let the coordinates of the vertices of the polygon M be (x1, y1), (x2, y2), ..., (xn, yn), then the mean center coordinates C (X , Y ) of the M can be calculated according to Equation ( 5).The hole is also considered as a polygon if there is a hole in M, as shown in Figure 9.

Vector Data Infringement Detection Algorithm
From the analysis of the GeoJSON data structure, it can be seen that the three types of vector data (Point, LineString, and Polygon) are clearer in the expression of feature spatial information than MultiPoint, MultiLineString, and MultiPolygon.Therefore, the algorithm specifies the geometry type in the GeoJSON format as Point, LineString, and Polygon in the design process.
The basic design concept of the infringement detection algorithm for GIS vector data is to perform the feature matching based on the minimum constituent unit of the vector data to obtain the repetition rate of the data, thereby determining whether there is any infringement in the data to be detected.However, the spatial features of vector data are extremely vulnerable to geometric attacks such as addition, deletion, and modification.Therefore, it is necessary to separate the feature features,

Mean Center Calculation
For a polygon feature, the center coordinates will not change if the vertex coordinates are unchanged.Therefore, the center coordinates can be used to determine whether the spatial positions of the two polygons are the same.In order to guarantee the performance of the algorithm, the mean value of the vertex coordinates is used here to represent the center of the polygon.Let the coordinates of the vertices of the polygon M be (x1, y1), (x2, y2), . . ., (x n , y n ), then the mean center coordinates C (X,Y) of the M can be calculated according to Equation ( 5).The hole is also considered as a polygon if there is a hole in M, as shown in Figure 9.

Mean Center Calculation
For a polygon feature, the center coordinates will not change if the vertex coordinates are unchanged.Therefore, the center coordinates can be used to determine whether the spatial positions of the two polygons are the same.In order to guarantee the performance of the algorithm, the mean value of the vertex coordinates is used here to represent the center of the polygon.Let the coordinates of the vertices of the polygon M be (x1, y1), (x2, y2), ..., (xn, yn), then the mean center coordinates C (X , Y ) of the M can be calculated according to Equation ( 5).The hole is also considered as a polygon if there is a hole in M, as shown in Figure 9.

Vector Data Infringement Detection Algorithm
From the analysis of the GeoJSON data structure, it can be seen that the three types of vector data (Point, LineString, and Polygon) are clearer in the expression of feature spatial information than MultiPoint, MultiLineString, and MultiPolygon.Therefore, the algorithm specifies the geometry type in the GeoJSON format as Point, LineString, and Polygon in the design process.
The basic design concept of the infringement detection algorithm for GIS vector data is to perform the feature matching based on the minimum constituent unit of the vector data to obtain the repetition rate of the data, thereby determining whether there is any infringement in the data to be detected.However, the spatial features of vector data are extremely vulnerable to geometric attacks such as addition, deletion, and modification.Therefore, it is necessary to separate the feature features,

Vector Data Infringement Detection Algorithm
From the analysis of the GeoJSON data structure, it can be seen that the three types of vector data (Point, LineString, and Polygon) are clearer in the expression of feature spatial information than MultiPoint, MultiLineString, and MultiPolygon.Therefore, the algorithm specifies the geometry type in the GeoJSON format as Point, LineString, and Polygon in the design process.
The basic design concept of the infringement detection algorithm for GIS vector data is to perform the feature matching based on the minimum constituent unit of the vector data to obtain the repetition rate of the data, thereby determining whether there is any infringement in the data to be detected.However, the spatial features of vector data are extremely vulnerable to geometric attacks such as addition, deletion, and modification.Therefore, it is necessary to separate the feature features, the included angle features, and the vertex features from the spatial features of the vector data as the measurement indicators in the matching.In general, vector data infringement detection algorithms are divided into feature detection, included angle detection, and vertex detection.Point type vector data mainly uses feature detection and included angle detection, while the line and polygon type vector data are in need of all three of the above-mentioned detection methods.The algorithm flow is shown in Table 1.The vector data repetition rate R T is calculated as R T = (the number of repeated features/features cardinality) × 100%.The number of repeated features refers to the number of repetitions of geographic features, included angle value, or mean center coordinates value in the vector data.The R T is used in this paper to evaluate whether there is infringement, hence the maximum of the two or three feature repetition rates is taken as R T .The feature cardinality refers to the total number of each feature.The smaller cardinality of the features is taken as the feature cardinality in the vector data to be detected.

Infringement Detection Algorithm for GIS Vector Data
Input: D R : raw vector data with correct copyright, D T : suspected infringing vector data.Output: R T , R Point , R LineString , R Polygon : R T is the repetition rate of vector data, according to the input vector data type, there are three subtypes of R T , namely R Point , R LineString and R Polygon .-determine the cardinality of A R and A T , take the smaller cardinality as the The starting point coordinate of i is equal to the starting point coordinate of j and the end point coordinate of i is equal to the end point coordinate of j then: -

Infringement Detection Algorithm for GIS Vector Data
-calculate the included angle formed by the line features in D R and D T respectively to get two included angle sets A R and A T ; -determine the cardinality of A R and A T , take the smaller cardinality as A BC ; for i in A R : for j in A T : if i equals j then: -F ARC ++; break; -extract the vertex coordinates of all line features in D R and D T respectively to get two vertex coordinate sets C R and C T ; -remove the repeated elements in C R and C T respectively, determine the cardinality of the two sets, take the smaller cardinality as C BC ; for i in C R : for j in C T : if the coordinates of i are equal to the coordinates of j then:

is Polygon and T is Polygon then:
-extract the coordinates of all polygon vertices in D R and D T respectively to get two vertex coordinate sets C R and C T ; extract the included angles in all polygons to get two included angle sets A R and A T , respectively; extract the coordinates of the mean center of all the polygons to get the central coordinate sets M R and M T , respectively; determine the cardinality of each pair of sets, respectively; take the smaller cardinality as C BC , A BC , M BC ; for i in C R : for j in C T : if the coordinates of i are equal to the coordinates of j then: -F CRC ++; break; for i in A R : for j in A T : if i equals j then: -F ARC ++; break; for i in M R : for j in M T : if the coordinates of i are equal to the coordinates of j then: else then: -return: incorrect data type (error massage).
The point coordinates are matched first when detecting the repetition rate of the point type data, and the equal coordinates indicate that the two point features are duplicated.It is essential to consider whether the spatial relative positional relationship of each feature matches in addition to considering whether the geographic coordinates of each feature match.We use the included angle between the connection lines of point features to express the relative positional relationships of the features.The azimuth angle of the connecting line between the two point features should be calculated in sequence when the included angles in the point data are calculated, and then the included angle between the two lines can be calculated sequentially after all the azimuth angles are calculated, as shown in Figure 10a.It should match the coordinates of the starting and ending points of the line feature when detecting the line type data.If the coordinate values are equal, the two line features will be considered duplicate.The relative spatial relationship of the line features is expressed by the included angle between the line features.It is necessary to determine whether the line feature P is connected to the line feature M by the coordinates of the starting and ending points of the line features before calculating the included angle between the line features, and the included angle is calculated only when the line features are connected, as shown in Figure 10b.The spatial features of a polygon will change a lot if it is attacked, thus the detection process for polygon vector data is more complicated, and is divided into three parts: feature detection, internal included angle detection, and vertex coordinate detection.The mean center coordinates are unchanged when the polygon vertex coordinates have not changed; therefore, the number of repetitions of polygon features can be detected by the polygon mean center coordinates, but this is only suitable for the case where the polygon feature vertex coordinates are completely unchanged.The center coordinates will change when the polygon is cut or one of the vertices is tampered with, as shown in Figure 10c.Therefore, it is indispensable to perform the vertex coordinates detection for auxiliary judgment when detecting the polygon type data.
whether the spatial relative positional relationship of each feature matches in addition to considering whether the geographic coordinates of each feature match.We use the included angle between the connection lines of point features to express the relative positional relationships of the features.The azimuth angle of the connecting line between the two point features should be calculated in sequence when the included angles in the point data are calculated, and then the included angle between the two lines can be calculated sequentially after all the azimuth angles are calculated, as shown in Figure 10a.It should match the coordinates of the starting and ending points of the line feature when detecting the line type data.If the coordinate values are equal, the two line features will be considered duplicate.The relative spatial relationship of the line features is expressed by the included angle between the line features.It is necessary to determine whether the line feature P is connected to the line feature M by the coordinates of the starting and ending points of the line features before calculating the included angle between the line features, and the included angle is calculated only when the line features are connected, as shown in Figure 10b.The spatial features of a polygon will change a lot if it is attacked, thus the detection process for polygon vector data is more complicated, and is divided into three parts: feature detection, internal included angle detection, and vertex coordinate detection.The mean center coordinates are unchanged when the polygon vertex coordinates have not changed; therefore, the number of repetitions of polygon features can be detected by the polygon mean center coordinates, but this is only suitable for the case where the polygon feature vertex coordinates are completely unchanged.The center coordinates will change when the polygon is cut or one of the vertices is tampered with, as shown in Figure 10c.Therefore, it is indispensable to perform the vertex coordinates detection for auxiliary judgment when detecting the polygon type data.The dataset of this paper uses the shapefile vector dataset in OpenStreetMap.The point features are interest point data, including places, POIs, traffic, and transport.The line features use road data, the polygon features use building data, and the range of the latitude and longitude of experimental data are 113.963°-118.493°E and 38.302°-42.125°N, the coordinate system of experimental data is GCS_WGS_1984, the overall data overview is shown in Figure 11a, and the local details are shown in Figure 11b.It is essential to pay attention to the elimination of multipoint, multiline, and multipolygon when converting the shapefile format data to the GeoJSON format because the algorithm specifies the GeoJSON format type of vector data as Point, LineString, and Polygon.The data preprocessing process is shown in Figure 12.

Experimental Environment
The GeoJSON format is widely used in the B/S architecture system, which is also an extension to the JSON format.Consequently, JavaScript has good support for the GeoJSON format.In this The dataset of this paper uses the shapefile vector dataset in OpenStreetMap.The point features are interest point data, including places, POIs, traffic, and transport.The line features use road data, the polygon features use building data, and the range of the latitude and longitude of experimental data are 113.963°-118.493°E and 38.302°-42.125°N, the coordinate system of experimental data is GCS_WGS_1984, the overall data overview is shown in Figure 11a, and the local details are shown in Figure 11b.It is essential to pay attention to the elimination of multipoint, multiline, and multipolygon when converting the shapefile format data to the GeoJSON format because the algorithm specifies the GeoJSON format type of vector data as Point, LineString, and Polygon.The data preprocessing process is shown in Figure 12.

Experimental Environment
The GeoJSON format is widely used in the B/S architecture system, which is also an extension to the JSON format.Consequently, JavaScript has good support for the GeoJSON format.In this

Experimental Environment
The GeoJSON format is widely used in the B/S architecture system, which is also an extension to the JSON format.Consequently, JavaScript has good support for the GeoJSON format.In this experiment, the JavaScript language is used to implement the steps of the algorithm.The system environment is Windows 10 18362.175based on ×64, inter i5-7300HQ CPU, 24 Gb RAM, and the development tools are Sublime Text 3 and Google Chrome.

Attack Experiment
The spatial features of vector data are easy to change, and the cost of tampering with spatial information on vector data is low.Several common types of spatial information attacks mentioned in the current digital watermarking research include interpolation attack, deletion attack, similarity transformation (translation, rotation, scaling) attack, feature order scrambling attack, feature simplification attack, and coordinate system conversion attack.The default coordinate reference system for the GeoJSON format is the geographic coordinate system using the WGS84 datum, and we take this default as a precondition of the proposed algorithm and specifies that the data coordinate system for detection should be GCS_WGS_1984, thus the coordinate system conversion attack experiment is no longer performed in the experiment.For the other five tampering methods, we conduct geometric attack experiments on the different vector data types of point, line, and polygon, respectively, to evaluate the effectiveness and robustness of the proposed algorithm.

Interpolation Attack
We selected a certain amount of points, lines, and polygon features from the experimental dataset and set different attack levels to examine the robustness of the algorithm.Taking 20% of features as an example, the comparison of different types of data and original data after the interpolation attack is shown in Figure 13.The test results are shown in Table 2, which show that the proposed algorithm has high accuracy for the detection of interpolation attacks.The interpolation attack only adds features and does not modify the spatial information of the original data, hence most digital watermarking algorithms are effective for the detection of interpolation attacks.
ISPRS Int.J. Geo-Inf.2020, 9, x FOR PEER REVIEW 17 of 26 experiment, the JavaScript language is used to implement the steps of the algorithm.The system environment is Windows 10 18362.175based on ×64, inter i5-7300HQ CPU, 24 Gb RAM, and the development tools are Sublime Text 3 and Google Chrome.

Attack Experiment
The spatial features of vector data are easy to change, and the cost of tampering with spatial information on vector data is low.Several common types of spatial information attacks mentioned in the current digital watermarking research include interpolation attack, deletion attack, similarity transformation (translation, rotation, scaling) attack, feature order scrambling attack, feature simplification attack, and coordinate system conversion attack.The default coordinate reference system for the GeoJSON format is the geographic coordinate system using the WGS84 datum, and we take this default as a precondition of the proposed algorithm and specifies that the data coordinate system for detection should be GCS_WGS_1984, thus the coordinate system conversion attack experiment is no longer performed in the experiment.For the other five tampering methods, we conduct geometric attack experiments on the different vector data types of point, line, and polygon, respectively, to evaluate the effectiveness and robustness of the proposed algorithm.

Interpolation Attack
We selected a certain amount of points, lines, and polygon features from the experimental dataset and set different attack levels to examine the robustness of the algorithm.Taking 20% of features as an example, the comparison of different types of data and original data after the interpolation attack is shown in Figure 13.The test results are shown in Table 2, which show that the proposed algorithm has high accuracy for the detection of interpolation attacks.The interpolation attack only adds features and does not modify the spatial information of the original data, hence most digital watermarking algorithms are effective for the detection of interpolation attacks.

Deletion Attack
In this experiment, three different levels of deletion attack were set.Taking 20% feature deletion as an example, the comparison of different types of data and original data after the deletion attack is shown in Figure 14 and the test results are shown in Table 3. Different from interpolation attacks, deleting attacks directly destroy the spatial features of the original data.The destruction of the spatial features of the original data will inevitably lead to the loss of watermark information because current vector data digital watermarking algorithms are mostly based on spatial features for watermark embedding.Therefore, most of the vector data digital watermarking algorithms have a relatively unstable detection effect for deletion attacks; for this reason, digital watermarking technology is not used in the design process of the proposed algorithm.In the literature [16], the similarity between the detected watermark and the original watermark was 90.53%, 89.75%, and 90.60%, respectively, after a 20% deletion attack on the three types of data [16], and the authors did not perform a higher-intensity deletion attack experiment.Table 3 shows that the detection results of the proposed algorithm remain stable after deleting 90% of the experimental data.  This number refers to the number of all polygon features, including the number of holes inside the polygon features.

Deletion Attack
In this experiment, three different levels of deletion attack were set.Taking 20% feature deletion as an example, the comparison of different types of data and original data after the deletion attack is shown in Figure 14 and the test results are shown in Table 3. Different from interpolation attacks, deleting attacks directly destroy the spatial features of the original data.The destruction of the spatial features of the original data will inevitably lead to the loss of watermark information because current vector data digital watermarking algorithms are mostly based on spatial features for watermark embedding.Therefore, most of the vector data digital watermarking algorithms have a relatively unstable detection effect for deletion attacks; for this reason, digital watermarking technology is not used in the design process of the proposed algorithm.In the literature [16], the similarity between the detected watermark and the original watermark was 90.53%, 89.75%, and 90.60%, respectively, after a 20% deletion attack on the three types of data [16], and the authors did not perform a higherintensity deletion attack experiment.Table 3 shows that the detection results of the proposed algorithm remain stable after deleting 90% of the experimental data.In this experiment, two different attack levels were set for each subtype attack.The comparison of the different types of data and the original data after the similarity transformation attack is shown in Figure 15.As can be seen from Figure 15, the coordinate information of the data after the attack is completely different from the original data, so the R F and R C in the result are 0%, as shown in Table 4.However, the relative spatial relationship of each feature in the experimental data does not change, hence we can know that the included angle features of the data after the attack are consistent with the original data by the value of R A , which proves that the proposed algorithm has a high accuracy rate for the detection of similarity transformation attacks.

Feature Order Scrambling Attack
Two different attack levels were set in this experiment.The comparison between the different types of data and the original data after the feature order scrambling attack is shown in Figure 16.As we can see from Table 5, the RA in the results of the point vector data is greatly affected by the feature order scrambling attack.This is because the feature order scrambling attack may interrupt the vertex order between the before and after features somewhere in the original data, resulting in a change in the included angle between the features.Hence, the detection result RA of the point vector data has a  Two different attack levels were set in this experiment.The comparison between the different types of data and the original data after the feature order scrambling attack is shown in Figure 16.As we can see from Table 5, the R A in the results of the point vector data is greatly affected by the feature order scrambling attack.This is because the feature order scrambling attack may interrupt the vertex order between the before and after features somewhere in the original data, resulting in a change in the included angle between the features.Hence, the detection result R A of the point vector data has a large error with the increase of the attack level.However, the scrambling attack does not modify the spatial point feature information, thus the values of R F are 100%.Although the order between the features is modified, the vertex position of each feature remains unchanged, thus the values of R F , R A , and R C in the results are all correct.In general, the proposed algorithm has a high sensitivity to feature order scrambling attacks.We used the Douglas-Peucker algorithm to simplify the data, and three different threshold ranges were set in this experiment to attack the data.The comparison between the different types of data and the original data after the feature simplification attack is shown in Figure 17.The feature simplification attack removes a certain number of vertices from the data, the shape of the line features and the polygon features will change, and the included angle between the features calculated based on the vertex coordinates will also change.Consequently, the values of R F and R A in the detection results of the line and polygon vector data decrease gradually with the increase of simplification attack level, as shown in Table 6.The vertex coordinates left after the data was subjected to the feature simplification attack still belong to the vertex coordinates in the original data; therefore, we can use the R C value to represent the repetition rate of the data to be detected and the original data in the feature simplification attack.In a previous study, the error rate of watermark extraction by the 20% simplification attack level on data was 3.26%, and the error rate of watermark extraction by the 30% simplification attack level on data was 6.43% [12].As can be seen from Table 6, in the detection results of the algorithm in this paper, the error of the detection result is 3.366% when the simplification attack level is 44.3%; the error of the detection result is 4.476% when the simplification attack level is 57.2%.Hence, one can see that the proposed algorithm in this paper still has a good detection ability in the case of a higher degree of simplification attack compared with the digital watermarking algorithm in the literature [12].The composite attack for line and polygon vector data performed a simplification attack with a threshold of 10 m in addition to the above-mentioned six attacks.The comparison between the different types of data and the original data after the composite attack is shown in Figure 18.The experimental results of the composite attack are shown in Table 7.After extensive modification of the experimental data, for the point vector data, the algorithm can still detect that 57.827% (R F ) of the point features from the attacked data come from the original point data, and 41.099% (R A ) of the point features' relative spatial relationships are consistent with the original data.For the line vector data, the line type experimental data is greatly destroyed in this attack, as seen in Figure 18b, but the algorithm can still identify that 12.920% (R F ) of the line features, 9.604% (R A ) of the included angles between the features, and 27.815% (R C ) of the line feature vertex positions of the postattack data come from the original data.In total, 48.224% (R F ) of the polygon features and 33.871% (R C ) of the polygon vertices in the attacked data are the same as the original data, and the relative spatial relationships within 36.552% (R A ) of the polygon features are not changed in the polygon vector data.

Discussion
We discuss the research in this paper from the following four aspects: (1) The feasibility of repetition rate in the determination of infringement: Plagiarism constitutes infringement in the copyright laws of most countries, but the definition of plagiarism needs to meet two criteria in China.One is whether the plagiarizing is protected by copyright, and the other is whether the use of other people's works by plagiarists is beyond the scope of "appropriate citations".The regulation of book protection in China clearly defines that the range of quantities of "appropriate citations" is one tenth of the cited works, and it constitutes an infringement when this range is exceeded.It is similar to the fact that the repetition rate in academic papers must not exceed a certain standard.Therefore, we believe that the repetition rate can be used as a judgment indicator of infringement.However, whether the above-mentioned "appropriate citations" quantity range is suitable for the copyright protection of geographic data requires further argument, which is beyond the scope of the discussion in this paper.(2) Analysis of problems in the methods and experiments in this paper: (1) Feature cardinality problem.For two vector data A and B, data A contains 80 features, and data B contains 50 features.If data B is suspected of infringement, and 40 features in data B are derived from data A, then 50 should be taken as the cardinality in the calculation of the repetition rate of data B with respect to data A, and the repetition rate is 80% instead of 50%.Hence, the number of features of the vector data with lower data volume is always taken as the cardinality in the process of calculating the repetition rate of two vector datasets in this paper.(2) Composite attack problem.In the experimental design, in order to further verify the effectiveness of the algorithm, a complex composite attack was performed on the experimental data.Although the repetition rate in the detection result was lower than in the other attack methods, the data spatial distribution after the composite attack was far from the original data, and the practical application value and copyright protection value were lost.(3) Repetition rate indicator problem.The algorithm results in this paper are not a simple general repetition rate value, but have three indicators: R F , R A , and R C .These three indicators measure the repetition rate of data from the three aspects of feature features, included angle features, and vertex features of vector data, which can resist different types of attacks more effectively and evaluate the degree of duplication between the data to be detected and the original data more scientifically.(3) The advantages of the proposed method: (1) Compared with the existing digital watermarking algorithm, the proposed method in this paper is simple and easy to understand.There is no complex mathematical calculation and it is easy to implement.(2) In the experiment, the proposed algorithm runs for a minimum of 0.459 s and the longest time is 36.244s.The detection efficiency is at an acceptable level.(3) The proposed method in this paper is applicable to all three vector data types, which is not the case for most zero-watermarking algorithms.(4) The proposed algorithm detects the data repetition rate based on the GeoJSON format, which follows the OGC standard, and has good versatility.The proposed algorithm can be extended to any data type that can be converted to the GeoJSON format.(4) Practical application: Because the GeoJSON format is an extension of the JSON format, the proposed method can be applied to a geographic data sharing system using B/S architecture.It is especially suitable for current geographic data publishing platforms (such as the journal of Earth System Science Data) and possible future geographic data self-publishing platforms to prevent and detect infringements in the process of geographic data publishing.(5) Disadvantages: The proposed detection algorithm cannot maintain high accuracy in the recognition of a coordinate system conversion attack, which is the shortcoming of the algorithm and will be solved in future research.There are few methods in the research of vector data digital watermarking technology that can resist all attack methods at present.The proposed method in this paper can be considered to be combined with digital watermarking technology in practical applications, thereby achieving complementary advantages.For example, another digital watermarking algorithm proposed in the literature [18] can effectively identify coordinate system conversion attacks; consequently, when judging whether there is any infringement of the geographic data, our proposed method can be used to detect whether the geographic data has been subjected to interpolation attack, deletion attack, similarity transformation attack, feature order scrambling attack, and feature simplification attack, while the digital watermarking algorithm proposed in the literature [18] can be used to detect whether the geographic data has been subjected to coordinate system conversion attack, thereby the infringement can be comprehensively assessed.

Conclusions
In this paper, a novel infringement detection method for GIS vector databased on the GeoJSON format was proposed.The spatial features of the vector data were used for feature matching, and the infringement behavior in the vector data could be determined according to the matching results.We deeply analyzed the spatial features of the vector data, and separated three different indicators of feature features, included angle features, and vertex features, which were used to resist different types of attacks, and accurately identified the degree of data duplication.The repetition rate detection process for the three types of vector data was described in detail, and various geometric attacks were performed using the three different types of vector data to evaluate the effectiveness and robustness of the proposed algorithm.The results show that the proposed algorithm has high robustness to common geometric attacks such as interpolation attacks, deletion attacks, similarity transformation attacks, feature order scrambling attacks, and feature simplification attacks, and meets the requirements of practical applications.

Figure 1 .
Figure 1.Point type vector data in GeoJSON: (a) Point type vector data; (b) GeoJSON format of the Point type vector data.

Figure 1 .
Figure 1.Point type vector data in GeoJSON: (a) Point type vector data; (b) GeoJSON format of the Point type vector data.

Figure 2 .
Figure 2. MultiPoint type vector data in GeoJSON: (a) MultiPoint type vector data; (b) GeoJSON format of the MultiPoint type vector data.

Figure 2 .
Figure 2. MultiPoint type vector data in GeoJSON: (a) MultiPoint type vector data; (b) GeoJSON format of the MultiPoint type vector data. .

Figure 3 .Figure 3 .Figure 3 .
Figure 3. LineString type vector data in GeoJSON: (a) LineString type vector data; (b) GeoJSON format of the LineString type vector data; (c) The direction of the line feature.

Figure 4 .
Figure 4. MultiLineString type vector data in GeoJSON: (a) MultiLineString type vector data; (b) GeoJSON format of the MultiLineString type vector data; (c) The direction of the line feature and visual representation of GeoJSON data structure of MultiLineString type vector data.

Figure 4 .
Figure 4. MultiLineString type vector data in GeoJSON: (a) MultiLineString type vector data; (b) GeoJSON format of the MultiLineString type vector data; (c) The direction of the line feature and visual representation of GeoJSON data structure of MultiLineString type vector data.

Figure 6 .
Figure 6.MultiPolygon type vector data in GeoJSON: (a) MultiPolygon type vector data; (b) GeoJSON format of the MultiPolygon type vector data; (c) Vertex storage order of MultiPolygon type data.

2 )
x1 , when P is in the first and fourth quadrants 270 − arctan y2 − y1 x2 − x1 , when P is in the sec ond and third quadrants (ISPRS Int.J. Geo-Inf.2020, 9, x FOR PEER REVIEW 11 of 26

2 )Figure 7 .
Figure 7. Azimuth angle calculation when P is in different quadrants.

Figure 7 .
Figure 7. Azimuth angle calculation when P is in different quadrants.

Figure 8 .
Figure 8. Included angle calculation: (a) Schematic diagram of line segment P and line segment L; (b) When the position of line segment L is between the y'-axis and P' (∠PAz > ∠LAz).

Figure 8 .
Figure 8. Included angle calculation: (a) Schematic diagram of line segment P and line segment L; (b) When the position of line segment L is between the y'-axis and P' (∠PAz > ∠LAz).

Figure 8 .
Figure 8. Included angle calculation: (a) Schematic diagram of line segment P and line segment L; (b) When the position of line segment L is between the y'-axis and P' (∠PAz > ∠LAz).
R Point includes point feature repetition rate R PTF and point feature included angle repetition rate R PTA ; R LineString includes line feature repetition rate R LSF , line feature included angle repetition rate R LSA and line feature vertex repetition rate R LSC ; R Polygon includes polygon feature repetition rate R PNF , polygon feature included angle repetition rate R PNA and polygon feature vertex repetition rate R PNC .Initialize: Feature cardinality: F BC = 0, Number of repeated features: F RC = 0, Number of repeated included angles: F ARC = 0, Number of repeated vertices: F CRC = 0. Method: -determine feature cardinality in D R and D T , take the smaller cardinality as F BC ; -determine the data type of D R and D T as R and T; if R is Point and T is Point then: for i in D R : for j in D T : if the coordinates of i are equal to the coordinates of j then: -F RC ++; -calculate the included angle formed by the point feature connection lines in D R and D T respectively to get two included angle sets A R and A T ;

Figure 10 .
Figure 10.Detection indicators of point, line, and polygon: (a) Detection indicators of point; (b) Detection indicators of line; (c) Detection indicators of polygon and change of mean center when the polygon is modified.

Figure 10 .
Figure 10.Detection indicators of point, line, and polygon: (a) Detection indicators of point; (b) Detection indicators of line; (c) Detection indicators of polygon and change of mean center when the polygon is modified.

4 .
Experiment and Result 4.1.Data Processing and Experimental Environment 4.1.1.Data Processing The dataset of this paper uses the shapefile vector dataset in OpenStreetMap.The point features are interest point data, including places, POIs, traffic, and transport.The line features use road data, the polygon features use building data, and the range of the latitude and longitude of experimental data are 113.963• -118.493• E and 38.302 • -42.125 • N, the coordinate system of experimental data is GCS_WGS_1984, the overall data overview is shown in Figure 11a, and the local details are shown in Figure 11b.It is essential to pay attention to the elimination of multipoint, multiline, and multipolygon when converting the shapefile format data to the GeoJSON format because the algorithm specifies the GeoJSON format type of vector data as Point, LineString, and Polygon.The data preprocessing process is shown in Figure 12.ISPRS Int.J. Geo-Inf.2020, 9, x FOR PEER REVIEW 16 of 26 4.1.1.Data Processing

Figure 13 .
Figure 13.Comparison of different types of data and original data after an interpolation attack: (a) Point type vector data; (b) Line type vector data; (c) Polygon type vector data.

Figure 13 .
Figure 13.Comparison of different types of data and original data after an interpolation attack: (a) Point type vector data; (b) Line type vector data; (c) Polygon type vector data.

Figure 14 .
Figure 14.Comparison of different types of data and original data after deletion attack: (a) Point type vector data; (b) Line type vector data; (c) Polygon type vector data.

Figure 14 .
Figure 14.Comparison of different types of data and original data after deletion attack: (a) Point type vector data; (b) Line type vector data; (c) Polygon type vector data.

Figure 15 .
Figure 15.Comparison of different types of data and original data after similarity transformation attack: (a) Translation attack of point type vector data; (b) Rotation attack of point type vector data; (c) Scaling attack of point type vector data; (d) Translation attack of line type vector data; (e) Rotation attack of line type vector data; (f) Scaling attack of line type vector data; (g) Translation attack of polygon type vector data; (h) Rotation attack of polygon type vector data; (i) Scaling attack of polygon type vector data.

Figure 15 .
Figure 15.Comparison of different types of data and original data after similarity transformation attack: Translation attack of point type vector data; (b) Rotation attack of point type vector data; (c) Scaling attack of point type vector data; (d) Translation attack of line type vector data; (e) Rotation attack of line type vector data; (f) Scaling attack of line type vector data; (g) Translation attack of polygon type vector data; (h) Rotation attack of polygon type vector data; (i) Scaling attack of polygon type vector data.

Figure 16 .
Figure 16.Comparison of different types of data and original data after a feature order scrambling attack: (a) Point type vector data; (b) Line type vector data; (c) Polygon type vector data.

Figure 16 .
Figure 16.Comparison of different types of data and original data after a feature order scrambling attack: (a) Point type vector data; (b) Line type vector data; (c) Polygon type vector data.

Figure 17 .
Figure 17.Comparison of different types of data and original data after feature simplification attack: (a) Line type vector data; (b) Polygon type vector data.

Figure 17 .
Figure 17.Comparison of different types of data and original data after feature simplification attack: (a) Line type vector data; (b) Polygon type vector data.

Figure 18 .
Figure 18.Comparison of different types of data and original data after composite attack: (a) Point type vector data; (b) Line type vector data; (c) Polygon type vector data.

Figure 18 .
Figure 18.Comparison of different types of data and original data after composite attack: (a) Point type vector data; (b) Line type vector data; (c) Polygon type vector data.
Output: RT, RPoint, RLineString, RPolygon: RT is the repetition rate of vector data, according to the input vector data type, there are three subtypes of RT, namely RPoint, RLineString and RPolygon.RPoint includes point feature repetition rate RPTF and point feature included angle repetition rate RPTA; RLineString includes line feature repetition rate RLSF, line feature included angle repetition rate RLSA and line feature vertex repetition rate RLSC; RPolygon includes polygon feature repetition rate RPNF, polygon feature included angle repetition rate RPNA and polygon feature vertex repetition rate RPNC.

Table 2 .
Test results of interpolation attack.Feature features repetition rate, used to represent the repetition rate of the absolute spatial position of the features;2Included angle features repetition rate, used to represent the repetition rate of the relative spatial relationship of the features;3Vertex features repetition rate, used to represent the repetition rate of the vertex coordinate repetition rate of the line or polygon data; 1Feature features repetition rate, used to represent the repetition rate of the absolute spatial position of the features; 2 Included angle features repetition rate, used to represent the repetition rate of the relative spatial relationship of the features; 3 Vertex features repetition rate, used to represent the repetition rate of the vertex coordinate repetition rate of the line or polygon data;4This number refers to the number of all polygon features, including the number of holes inside the polygon features.

Table 3 .
Test results of deletion attack.

Table 4 .
Test results of similarity transformation attack.

Table 5 .
Test results of feature order scrambling attack.

Table 5 .
Test results of feature order scrambling attack.

Table 6 .
Test results of feature simplification attack.

Table 6 .
Test results of feature simplification attack.In order to further evaluate the robustness of the proposed algorithm, an experiment of composite attack was performed on the test data.The composite attack for the point vector data includes six attacks, as follows:

Table 7 .
Test results of composite attack.

Type Number of Features Types of Attack RT Results of Each Indicator Time
Taken (s)RF RA RCInterpolation attack, deletion attack,

Table 7 .
Test results of composite attack.