CN116628113A - Target address determining method, device, equipment and storage medium - Google Patents

Target address determining method, device, equipment and storage medium Download PDF

Info

Publication number
CN116628113A
CN116628113A CN202210125231.XA CN202210125231A CN116628113A CN 116628113 A CN116628113 A CN 116628113A CN 202210125231 A CN202210125231 A CN 202210125231A CN 116628113 A CN116628113 A CN 116628113A
Authority
CN
China
Prior art keywords
target
address
determining
candidate
candidate address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210125231.XA
Other languages
Chinese (zh)
Inventor
冯小翼
柴玉琳
吴玥
张小鹏
黄莉莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Chengdu Co Ltd
Original Assignee
Tencent Technology Chengdu Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Chengdu Co Ltd filed Critical Tencent Technology Chengdu Co Ltd
Priority to CN202210125231.XA priority Critical patent/CN116628113A/en
Publication of CN116628113A publication Critical patent/CN116628113A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Abstract

The application discloses a target address determining method, a device, equipment and a storage medium, which can be applied to various scenes such as cloud technology, artificial intelligence, intelligent traffic, auxiliary driving and the like, wherein the method comprises the following steps: determining at least two terminals according to at least two candidate addresses of the target object; determining a candidate address to which each terminal belongs; acquiring attribute information of the target object and target data corresponding to each candidate address, wherein the target data is account associated data corresponding to a terminal belonging to the candidate address; and determining the target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address and the attribute information of the target object. The application can realize the quick and accurate determination of the address selection result of the target object.

Description

Target address determining method, device, equipment and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, an apparatus, a device, and a storage medium for determining a target address.
Background
In the related art, crowd distribution, density and change trend can be described by overlapping blocks with different colors on a map through thermodynamic diagrams; however, thermodynamic diagrams can only show the density of sampling points, cannot be accurate to within a hundred meters around a store, nor can they provide population numbers accurate to within a geofence, or calculate their permeability; nor does it recommend an addressed location for the merchant.
Therefore, it is necessary to provide a method, an apparatus, a device and a storage medium for determining a target address, which can accurately determine the number of terminals belonging to each candidate address and the target data corresponding to each candidate address according to the candidate address to which each terminal belongs, so as to quickly and accurately determine the address selection result of the target object.
Disclosure of Invention
The application provides a target address determining method, a device, equipment and a storage medium, which can realize rapid and accurate determination of an address selecting result of a target object.
In one aspect, the present application provides a method for determining a target address, the method comprising:
determining at least two terminals according to at least two candidate addresses of the target object;
determining a candidate address to which each terminal belongs;
Acquiring attribute information of the target object and target data corresponding to each candidate address, wherein the target data is account associated data corresponding to a terminal belonging to the candidate address;
determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address and the attribute information of the target object; the target address is the address selection result of the target object.
Another aspect provides a target address determining apparatus, the apparatus comprising:
the terminal determining module is used for determining at least two terminals according to at least two candidate addresses of the target object;
a candidate address determining module, configured to determine a candidate address to which each terminal belongs;
the target data acquisition module is used for acquiring attribute information of the target object and target data corresponding to each candidate address, wherein the target data is account associated data corresponding to a terminal belonging to the candidate address;
the target address determining module is used for determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address and the attribute information of the target object; the target address is the address selection result of the target object.
In another aspect there is provided a target address determination apparatus comprising a processor and a memory having stored therein at least one instruction or at least one program loaded and executed by the processor to implement a target address determination method as described above.
Another aspect provides a computer storage medium storing at least one instruction or at least one program loaded and executed by a processor to implement a target address determination method as described above.
Another aspect provides a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions so that the computer device executes to implement the target address determination method as described above.
The target address determining method, the target address determining device, the target address determining equipment and the storage medium provided by the application have the following technical effects:
According to at least two candidate addresses of a target object, determining at least two terminals; determining candidate addresses to which each terminal belongs; acquiring attribute information of the target object and target data corresponding to each candidate address, wherein the target data is account associated data corresponding to a terminal belonging to the candidate address; determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address and the attribute information of the target object; according to the application, the number of terminals belonging to each candidate address and the target data corresponding to each candidate address can be accurately determined according to the candidate address of each terminal, and then the address selection result of the target object can be rapidly and accurately determined by combining the attribute information of the target object.
Drawings
In order to more clearly illustrate the embodiments of the application or the technical solutions and advantages of the prior art, the following description will briefly explain the drawings used in the embodiments or the description of the prior art, and it is obvious that the drawings in the following description are only some embodiments of the application, and other drawings can be obtained according to the drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of a target address determination system according to an embodiment of the present application;
fig. 2 is a flow chart of a method for determining a target address according to an embodiment of the present application;
fig. 3 is a schematic flowchart illustrating an exemplary method for determining a candidate address of a terminal according to an embodiment of the present application;
fig. 4 is a schematic flow diagram illustrating an exemplary second method for determining a candidate address of a terminal according to an embodiment of the present application;
fig. 5 is a flowchart of a method for determining candidate addresses of a terminal according to the number of intersections according to an embodiment of the present application;
FIG. 6 is a flow chart of a method for determining the number of intersections of a ray with a target geofence boundary provided by an embodiment of the present application;
FIG. 7 is a flowchart illustrating an exemplary method for determining a target address according to an embodiment of the present application;
FIG. 8 is a flowchart illustrating an exemplary second method for determining a target address according to an embodiment of the present application;
FIG. 9 is a schematic diagram of a rectangular structure corresponding to an R tree according to an embodiment of the present application;
FIG. 10 is a schematic diagram of a structure of a rectangle represented by a node in an R tree according to an embodiment of the present application;
FIG. 11 is a schematic diagram of a geofence provided by an embodiment of the present application.
FIG. 12 is an interface diagram for constructing a geofence provided by an embodiment of the present application.
Fig. 13 is a schematic structural diagram of a destination address determining apparatus according to an embodiment of the present application;
fig. 14 is a schematic structural diagram of a server according to an embodiment of the present application.
Detailed Description
Cloud technology (Cloud technology) refers to a hosting technology for integrating hardware, software, network and other series resources in a wide area network or a local area network to realize calculation, storage, processing and sharing of data.
Cloud technology (Cloud technology) is based on the general terms of network technology, information technology, integration technology, management platform technology, application technology and the like applied by Cloud computing business models, and can form a resource pool, so that the Cloud computing business model is flexible and convenient as required. Cloud computing technology will become an important support. Background services of technical networking systems require a large amount of computing, storage resources, such as video websites, picture-like websites, and more portals. Along with the high development and application of the internet industry, each article possibly has an own identification mark in the future, the identification mark needs to be transmitted to a background system for logic processing, data with different levels can be processed separately, and various industry data needs strong system rear shield support and can be realized only through cloud computing.
Big data (Big data) refers to a data set which cannot be captured, managed and processed by a conventional software tool within a certain time range, and is a massive, high-growth-rate and diversified information asset which needs a new processing mode to have stronger decision-making ability, insight discovery ability and flow optimization ability. With the advent of the cloud age, big data has attracted more and more attention, and special techniques are required for big data to effectively process a large amount of data within a tolerant elapsed time. Technologies applicable to big data include massively parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the internet, and scalable storage systems. In this embodiment, the target data corresponding to the candidate address are all big data.
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the application described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or server that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed or inherent to such process, method, article, or apparatus, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It will be appreciated that in the specific embodiments of the present application, where user information, account association data, etc. are involved, user permissions or consent may be required when the above embodiments of the present application are applied to specific products or technologies, and the collection, use and processing of the relevant data may be required to comply with relevant laws and regulations and standards of the relevant countries and regions.
The technical terms involved in this embodiment are explained as follows:
geofence (Geo-fencing): a typical application of LBS is to enclose a virtual geoboundary with a virtual fence. The handset may receive automatic notifications and alerts when it enters, leaves, or is active within a particular geographic area. With geofencing technology, a location social networking site can help users automatically register when they enter a certain area. LBS (Location Based Services) refers to services deployed around geographic location data.
Map dotting: given a certain coordinate point, all POIs in a certain range (such as 3 kilometers around) and users who have visited the POIs in a certain time are acquired.
POI: point of Interest, points of interest; in a geographic information system, a POI may be a house, a shop, a post, a bus stop, etc.
R tree: tree-like data structures for spatial data storage. For example, indexing multidimensional data such as rectangles and polygons to geographic locations. In real life, the R-tree may be used to store spatial information on a map, such as restaurant addresses, or polygons on a map used to construct streets, buildings, lake edges, and coastlines. It can then be used to answer the question of "find museums within 2 km of me", "retrieve all road segments within 2 km of me" (then displayed in the navigation system) or "find (straight distance) nearest gas station". The R-tree may also be used to accelerate nearest neighbor searches using various distance metrics including great circle distance.
Referring to fig. 1, fig. 1 is a schematic diagram of a target address determining system according to an embodiment of the present application, and as shown in fig. 1, the target address determining system may at least include a server 01 and a client 02.
Specifically, in the embodiment of the present application, the server 01 may include an independently operating server, or a distributed server, or a server cluster formed by a plurality of servers, and may also be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network ), and basic cloud computing services such as big data and artificial intelligence platforms. The server 01 may include a network communication unit, a processor, a memory, and the like. Specifically, the server 01 may determine at least two terminals according to at least two candidate addresses of the target object; determining candidate addresses to which each terminal belongs; acquiring attribute information of the target object and target data corresponding to each candidate address; and determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address and the attribute information of the target object.
Specifically, in the embodiment of the present application, the client 02 may include smart phones, desktop computers, tablet computers, notebook computers, digital assistants, intelligent wearable devices, intelligent sound boxes, vehicle terminals, intelligent televisions, and other types of entity devices, or may include software running in the entity devices, for example, web pages provided by some service providers to users, or may also provide applications provided by the service providers to users. Specifically, the client 02 may be configured to display the target address in a map.
In the following, a method for determining a target address according to the present application is described, and fig. 2 is a schematic flow chart of a method for determining a target address according to an embodiment of the present application, and the present specification provides steps of the method according to an embodiment or the flowchart, but may include more or less steps based on conventional or non-inventive labor. The order of steps recited in the embodiments is merely one way of performing the order of steps and does not represent a unique order of execution. When implemented in a real system or server product, the methods illustrated in the embodiments or figures may be performed sequentially or in parallel (e.g., in a parallel processor or multithreaded environment). As shown in fig. 2, the method may include:
S201: and determining at least two terminals according to the at least two candidate addresses of the target object.
In the embodiment of the application, the target object can be an off-line store, a store, and the like; in the process of selecting the target object, a plurality of candidate addresses can be preset, so that the optimal address is determined.
In the embodiment of the application, at least two terminals in the area can be determined according to the area where at least two candidate addresses of the target object are located; for example, the city or province in which the candidate address is located may be determined according to the location in which the candidate address is located, so as to determine at least two terminals. The specific number of terminals is determined according to the area where the candidate address is located, and for example, all terminals in the area can be determined. Terminals include, but are not limited to, cell phones, computers, intelligent voice interaction devices, intelligent appliances, vehicle terminals, aircraft, and the like. The embodiment of the application can be applied to various scenes, including but not limited to cloud technology, artificial intelligence, intelligent transportation, auxiliary driving and the like.
S203: and determining the candidate address to which each terminal belongs.
In the embodiment of the application, after all terminals are determined, the candidate address to which each terminal belongs can be determined.
In the embodiment of the present application, as shown in fig. 3, the determining the candidate address to which each terminal belongs includes:
s20301: according to the target distance corresponding to each candidate address, determining the interest point corresponding to each candidate address;
in the embodiment of the present application, the determining, according to the target distance corresponding to each candidate address, the point of interest corresponding to each candidate address includes:
determining longitude and latitude information corresponding to each candidate address;
in the embodiment of the application, longitude and latitude information of each candidate address in the earth can be obtained.
And determining a target area of each candidate address according to the latitude and longitude information corresponding to each candidate address and the corresponding target distance.
In the embodiment of the application, the target distance corresponding to each candidate address can be acquired; when the target object is a store, the target distance may be a distribution distance of the store; the target area of each candidate address can be determined according to longitude and latitude information corresponding to each candidate address and the corresponding target distance. The target area is a coarse screening area of the interest point and can be used for determining the target interest point.
In the embodiment of the present application, the determining the target area of each candidate address according to the latitude and longitude information corresponding to each candidate address and the corresponding target distance may include:
Determining a latitude difference value and a longitude difference value corresponding to any candidate address according to latitude and longitude information corresponding to the any candidate address and a corresponding target distance;
and determining a target area of any candidate address according to the latitude difference value and the longitude difference value corresponding to the any candidate address.
In the embodiment of the application, for example, to screen all POIs within 3km from the candidate address A point (116E, 40N), two longitude coordinates 3km from the A point longitude and two latitude coordinates 3km from the A point latitude can be calculated by taking the A point as an origin; and then determining one side of the rectangle according to the two longitude coordinates, determining the other side of the rectangle according to the two latitude coordinates, and determining a square screening area according to the two sides to serve as a target area of any candidate address.
And determining the interest point corresponding to each candidate address based on the target area of each candidate address.
In the embodiment of the application, all the interest points in each candidate address can be acquired.
S20303: and determining the target interest point of each candidate address based on the distance between each candidate address and the interest point corresponding to each candidate address.
In the embodiment of the application, the target interest points of each candidate address can be one or a plurality of target interest points.
In an embodiment of the present application, before determining the target interest point of each candidate address based on the distance between each candidate address and the interest point corresponding to each candidate address, the method further includes:
acquiring first coordinate information of each candidate address and second coordinate information of interest points corresponding to each candidate address;
and determining the distance between each candidate address and the interest point corresponding to each candidate address according to the first coordinate information and the corresponding second coordinate information of each candidate address.
In a specific embodiment, in order to calculate the distance between two longitudes a (ja, ωa), B (jb, ωb) on the earth, the earth is considered as a standard sphere, and only the included angle θ between two points and the radius formed by the center of the earth is calculated, i=rθ is the distance between the two points.
Establishing a rectangular coordinate system by taking the sphere center as the circle center, wherein the coordinates of A and B can be written as A (Rcos omega asaija, rcos omega acosja, rsin omega a), and B (Rcos omega bsjnjb, rcos omega bcosjb, rsin omega B));
calculating the angle between these two vectors (using point multiplication) yields:
cosθ=cosωbcosωacos(jb-ja)+sinωasinωbcosθ
when ja is not much different from jb, cos (jb-ja) is close to 0.999, thus resulting in inaccurate results; thus, the formula is transformed as follows: adding a cos omega acos omega b to the equation and subtracting a cos omega acos omega b from the equation;
cosθ=cosωbcosωacos(jb-ja)+sinωasinωb+cosωacosωb-cosωacosωb=cosωbcosωacos(jb-ja)+cosωacosωb+cos(ωa-ωb)=(cos(jb-ja)-1)cosωacosωb+cos(jb-ja)
The formula is transformed twice as follows:
(1-cosθ)/2=(1-cos(jb-ja))/2+(1-cos(jb-ja))/2cosωacosωb
definition haverine (θ) =sin 2 (θ/2)=(1-cos θ)/2
haversine(θ)=haversine(jb-ja)+haversine(jb-ja)cosωacosωb;
In the embodiment, sin is adopted to replace cos, so that the calculation accuracy is improved.
In a specific embodiment, the calculation formula in the embodiment is adopted to calculate the distance between 100 ten thousand POIs, which takes about 4 seconds, so that the calculation speed is remarkably improved.
S20305: determining terminals belonging to each target interest point;
in the embodiment of the application, the target interest point POI can be a shop, and a terminal entering the shop can be determined by a map dotting method; thereby determining the terminals attributed to each target point of interest.
S20307: and determining the candidate address to which each terminal belongs according to the target interest point of each candidate address and the terminal belonging to each target interest point.
In the embodiment of the application, the candidate address can be matched with the terminal through the target interest point; specifically, all terminals corresponding to the target interest point may be determined as terminals corresponding to the candidate address corresponding to the target interest point.
In the embodiment of the application, the target area corresponding to each candidate address can be primarily screened out, and the distance between each interest point in the target area and the candidate address is calculated, so that the target interest point corresponding to each candidate address is determined, the candidate address of each terminal is rapidly determined according to the target interest point, and the speed of determining the candidate address of each terminal is improved.
In the embodiment of the present application, as shown in fig. 4, the determining the candidate address to which each terminal belongs includes:
s2031: acquiring coordinate information of each terminal;
in the embodiment of the application, the coordinate information of each terminal in the map can be acquired.
S2033: determining a geofence for each candidate address;
in the embodiment of the application, the geofence of each candidate address can be determined according to the target distance corresponding to each candidate address. The target distance may be a dispatch distance of the candidate address and the geofence may be used to determine a dispatch range of the candidate address.
In the embodiment of the application, the geofence where the candidate address is located can be determined according to the candidate address; as shown in fig. 11, fig. 11 is a partial area map of XX city, wherein polygons are pre-constructed geofences, and the geofence to which the candidate address belongs can be determined through coordinate information corresponding to the candidate address.
In a specific embodiment, the geofence to which the candidate address corresponds may be determined by determining the candidate address and the city in which the candidate address is located; as shown in fig. 12, on the terminal side, the user can input the candidate address (residence), and the corresponding province, city, that is, the corresponding geofence can be displayed.
S2035: determining rays which point to each candidate address by using the coordinate information of each terminal as a starting point, wherein the rays pass through a geofence of each candidate address;
s2037: and determining the candidate address to which each terminal belongs according to the ray of any terminal pointing to each candidate address.
In the embodiment of the application, the candidate address to which each terminal belongs can be determined by a ray method. The core calculation step of extracting the offline crowd based on the geofence is to select a polygon in a circle, and judging whether the LBS address of the user belongs to the inner/periphery of the polygon in the circle or not can adopt a ray method and a ray method thought: and (3) making a ray from the point, calculating the number of intersection points of the ray and the boundary of the polygon, wherein if the number of the intersection points is odd, the point is inside the polygon, otherwise, the point is outside the polygon.
Algorithm core points: traversing each side of the polygon, and counting once if the ordinate of the measured point is within the ordinate range of two vertexes of one side and the measured point is on the right side (or the left side) of the side; if the number of times is odd, the measured point is in the circle selection range, otherwise, the measured point is out of the circle selection range.
In an embodiment of the present application, as shown in fig. 5, the determining, according to the ray pointing to each candidate address by each terminal, the candidate address to which each terminal belongs includes:
S20371: determining the number of intersections of rays of any terminal pointing to each candidate address and each geofence boundary;
in an embodiment of the present application, before determining the number of intersections of the ray directed to the candidate address by the terminal and the geofence boundary, the method further includes:
determining the edge number of the geofence corresponding to each candidate address; the geofence is a polygonal structure.
The determining the number of intersections of the ray directed to the candidate address by each terminal with the geofence boundary includes:
if the edge number of any geofence is smaller than or equal to a preset value, the intersection point number of the ray corresponding to any terminal and each edge of any geofence is calculated.
In the embodiment of the application, the preset value can be set according to actual conditions. When the number of edges of the geofence is small, the number of intersections of the ray with each edge of the geofence can be quickly determined.
And determining the sum of the number of the intersection points corresponding to the edges of any geofence as the number of the intersection points of the ray corresponding to any terminal and the boundary of any geofence.
In the embodiment of the application, the sum of the number of the intersection points corresponding to the edges of any geofence can be calculated to obtain the number of the intersection points of the ray corresponding to any terminal and the boundary of any geofence.
In the embodiment of the application, when the number of the edges of the geofence is small, the position relation between the terminal and the geofence can be quickly determined by calculating the number of the intersections of the ray and each edge of the geofence, so that the candidate address of each terminal can be quickly determined.
In the embodiment of the application, the ray method is used when the number of polygons is small, but if the number of candidate polygons is increased, the time consumption is too long according to the current scheme. Assuming 1000 tens of thousands of candidate users, everyone needs to traverse each edge of each polygon, which would be computationally intensive. Because the ray method has a certain calculation amount, compared with the R tree index in polygon circle selection, the effect of the R tree index in the geofence can be highlighted under the condition of higher dimension. When the number of edges of the geofence is large, the position relation between the terminal and the geofence can be determined by constructing an R tree.
In the embodiment of the application, the R tree is a balanced tree which divides a one-dimensional straight line into a plurality of segments. When searching for a point meeting a certain requirement, only the line segment to which the point belongs needs to be searched. The idea is to find a large space, then gradually reduce the space to be found, and finally find out the solution meeting the requirement in the minimum inseparable space set by the user. The usage rules for the R tree are as follows:
1. The minimum rectangle is used for representing the polygon, and the minimum rectangle (minX, minY), (maxX, maxY) for framing the polygon can be found only by finding the (lower left corner, upper right corner) coordinates; minimum outsourcing rectangle (MBR) unified expression: { (Lx, ly), (Ux, uy) }
2. Building R tree index for minimum outsourced rectangle
3. Searching
a. Firstly, rapidly judging whether the position of a user is covered by an outsourcing rectangle through an R tree (the average query complexity of the R tree is O (log (n)), and n is the number of polygons)
b. If the outer rectangle is covered, it is further necessary to determine whether the outer rectangle is inside the polygon, and the above-mentioned ray method is used for determination.
c. In an embodiment of the present application, as shown in fig. 6, the determining the number of intersections of the ray of the any terminal pointing to the candidate address with the boundary of each geofence includes:
s203711: if the edge number of the target geofence is larger than the preset value, constructing an R tree according to the minimum outsourcing rectangle corresponding to each edge of the target geofence; nodes in the R tree represent the rectangle; the target geofence is a geofence corresponding to any one of the at least two candidate addresses;
in the embodiment of the present application, the constructing an R tree according to the minimum outsourcing rectangle corresponding to each side of the target geofence includes:
Constructing a minimum outsourcing rectangle corresponding to each side of the target geofence to obtain a first number of rectangles; and taking the first number of rectangles as the current rectangle.
In the embodiment of the application, the corresponding minimum outsourcing rectangle of each edge can be constructed first, and the first number is the same as the edge number of the target geofence.
And updating the second number of adjacent current rectangles.
In the embodiment of the application, the second number may be greater than 2, and the adjacent second number of rectangles may be selected based on the first number of rectangles, so as to continue to construct the minimum circumscribed rectangle. For example, any two adjacent rectangles may be selected to construct the corresponding smallest bounding rectangle.
If the number of the rectangles indicated by the updated result is greater than one, the updated result is re-used as the current rectangle, and the step of updating the second number of adjacent current rectangles is repeated until the number of the rectangles indicated by the updated result is one; wherein the number of rectangles indicated by the update result is determined based on the first number and the second number.
In the embodiment of the application, in the rectangular updating process, the area of the minimum circumscribed rectangle is larger and larger, and the number of the rectangles included in the minimum circumscribed rectangle is larger and larger, and the updating is not performed until the number of the minimum circumscribed rectangle finally constructed is one.
Constructing an R tree based on the minimum outsourcing rectangle corresponding to each side and the updating result; the leaf nodes of the R tree represent the minimum outsourcing rectangles corresponding to each edge, the nodes except the leaf nodes in the R tree represent the rectangles corresponding to the updating result, and the branches of the R tree represent the association relations among different rectangles.
In the embodiment of the application, the R tree can be constructed according to the construction sequence of the rectangle.
S203713: traversing the R tree, and searching a target rectangle intersected with any ray corresponding to any terminal;
in the embodiment of the application, the rectangle with the largest area intersected with the ray, namely the target rectangle, can be determined through the R tree.
S203715: determining a target edge intersecting with any ray in the target geofence according to the target rectangle;
in an embodiment of the present application, the determining, according to the target rectangle, a target edge in the target geofence intersecting with the any ray includes:
determining a target node corresponding to the target rectangle, and taking the target node as a current node;
determining a child node corresponding to the current node, and if the child node is not a leaf node, judging whether any ray intersects a rectangle represented by the child node;
If so, the rectangle represented by the child node is taken as the current node again, the child node corresponding to the current node is determined repeatedly, and whether any ray is intersected with the rectangle represented by the child node or not is judged; a step of taking the rectangle represented by the child node as a current node again until the child node is a leaf node;
and determining the edge corresponding to the leaf node as the target edge.
In a specific embodiment, as shown in fig. 9, the largest outsourcing rectangle (1) is first found, then the outsourcing rectangle (2) is further found, then the outsourcing rectangle (3) is determined, three polygons including R8, R9 and R10 in the rectangle (3) are finally determined, and edges corresponding to the polygons R8, R9 and R10 are all determined as target edges, so that the target edges of the rays can be rapidly determined.
In the embodiment of the application, in the node storage structure of the R tree, the data form stored by the leaf node is as follows: (I) complete-identifier
Wherein the complex-identifier is a pointer to a spatial object, which is n-dimensional. I is a rectangle of n-dimensional space and may just frame the points in n-dimensional space represented by all records in this leaf node. For example, an R tree index in two dimensions, I is a rectangle as shown in fig. 10, and two complex-identifier stores coordinates that are the bottom left corner and the top right corner of the rectangle.
The data structure stored in the non-leaf nodes of the R tree is as follows:
(I,child-pointer)
wherein child-pointer is a pointer to child nodes, and I is a rectangle covering all child nodes' corresponding rectangles.
In the embodiment of the application, after the target rectangle is determined, the corresponding leaf node can be searched according to the target rectangle, so that the target edge can be determined quickly.
S203717: and determining the number of the intersection points of any ray and the boundary of the target geofence according to the number of the intersection points of any ray and the target edge.
In the embodiment of the application, the target edge can be one or more; the number of intersections of any ray with the target geofence boundary may be determined by the number of intersections of any ray with the target edge.
S20373: and determining the candidate addresses corresponding to the geofences with the odd number of intersection points as the candidate address of any terminal.
In the embodiment of the application, if the number of intersection points of the geofence and the rays corresponding to each terminal is odd, the terminal is indicated to be in the geofence, and the candidate address corresponding to the geofence is determined as the candidate address of the terminal.
In the embodiment of the application, most of the geofence polygons are simple, but some particularly complex polygons are sometimes encountered, for example, the number of sides of a single polygon exceeds hundreds of thousands, and when the complex polygon is subjected to one-time ray method, the time is very time-consuming (because the time complexity of the ray method is O (N), and N is the number of sides of the polygon).
The R tree index can be independently carried out on the sides of the polygon with more sides (more than 1 ten thousand for example), the minimum outsourcing rectangle is firstly constructed on each side of the polygon, then the R tree index is constructed on the basis of the minimum outsourcing rectangles, so that when the ray method is used for solving the intersection point, whether the ray intersects the outsourcing rectangle or not is firstly judged through the R tree, and finally the accurate intersection judgment is carried out on the sides of the R tree after coarse screening, the time complexity is reduced from O (N) to O (Log (N)), and the calculation efficiency is greatly improved.
In one particular implementation, candidate population ranges may be circled according to the geofence, and then a determination may be made as to whether the LBS points are within the geofence. Ten thousand points are randomly determined, and whether the ten thousand points are in the geofence is judged by adopting an original ray method (original time consuming) and an R-tree method (optimizing time consuming) respectively.
For geofences with edge numbers from 24 to 208, the difference between the optimized time and the original time and the ratio of the optimized time to the original time were calculated, respectively, and the test results are shown in table 1 below.
TABLE 1
Edge number Optimizing time-raw time Optimizing/primitive time consuming
24 0.145011187 2.990629766
47 0.096490622 1.800770476
70 0.269369841 2.362373418
93 0.180216074 1.520725162
116 0.198428154 1.631872725
139 0.026855707 1.063861705
162 0.017213345 1.040696092
185 -0.043547153 0.90312267
208 -0.133030891 0.742021213
This embodiment tests geofences with edge numbers from 24 to 208 (some edge numbers are extracted), and it can be seen that the method of building an R-tree can speed up computation when the geofence edge number is 185.
For geofences with edge numbers from 200 to 19702, the difference between the optimized time and the original time and the ratio of the optimized time to the original time were calculated, respectively, and the test results are shown in table 2 below.
TABLE 2
/>
/>
This example tests a number of edges from 200 to 19702 (some of the edges were drawn), and when the number of geofenced edges was around 1500, the optimization method took about 50% less time, and when the number of edges was increased to 10000, the time was reduced by 90%. It can be seen that when the number of edges of the geofence is large, the calculation speed of the number of intersections of the boundary of the geofence and the ray can be significantly improved by constructing the R tree.
In the embodiment of the application, the candidate address of each terminal can be rapidly and accurately determined through the geofence and the R tree construction method.
S205: and acquiring attribute information of the target object and target data corresponding to each candidate address, wherein the target data is account associated data corresponding to a terminal belonging to the candidate address.
In the embodiment of the application, the attribute information of the target object can include, but is not limited to, information such as commodity type, applicable crowd and the like of the target object; the account association data may include, but is not limited to, user portrait data, user behavioral data. The account related data are acquired to obtain the consent of the user, and the corresponding data are used within the scope of meeting the laws and regulations.
S207: determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address and the attribute information of the target object; the target address is the address selection result of the target object.
In the embodiment of the present application, as shown in fig. 7, the determining, according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address, and the attribute information of the target object, the target address from the at least two candidate addresses includes:
s2071: determining the number of terminals belonging to each candidate address according to the candidate address to which each terminal belongs;
s2073: determining the number of associated accounts of each candidate address according to the terminal belonging to each candidate address; the number of the associated accounts is the number of target data with an association relationship with the attribute information of the target object;
s2075: and determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address and the number of associated accounts corresponding to each candidate address.
In this embodiment of the present application, as shown in fig. 8, the determining, according to the number of terminals belonging to each candidate address and the number of associated accounts corresponding to each candidate address, the target address from the at least two candidate addresses includes:
s20751: determining a first weight of the number of the terminals and a second weight of the number of the associated accounts;
in the embodiment of the application, the first weight and the second weight can be set according to actual requirements, and the first weight can be set to be larger than the second weight or the first weight can be set to be smaller than the second weight.
S20753: determining a comprehensive scoring result of each candidate address according to the number of terminals belonging to each candidate address, the number of associated accounts corresponding to each candidate address, the first weight and the second weight;
in the embodiment of the present application, the determining the comprehensive scoring result of each candidate address according to the number of terminals belonging to each candidate address, the number of associated accounts corresponding to each candidate address, the first weight and the second weight may include:
calculating the product of the number of terminals belonging to each candidate address and the first weight to obtain a first numerical value;
Calculating the product of the number of the associated accounts corresponding to each candidate address and the second weight to obtain a second value;
and calculating the sum of the first value and the second value corresponding to each candidate address to obtain the comprehensive scoring result of each candidate address.
S20755: sequencing the at least two candidate addresses according to the comprehensive scoring result of each candidate address;
in the embodiment of the application, each candidate address can be ranked from large to small according to the corresponding comprehensive scoring result to obtain a first ranking result; and sorting each candidate address according to the corresponding comprehensive scoring result from small to large to obtain a second sorting result.
S20757: and determining the target address from the at least two candidate addresses according to the sorting result.
In the embodiment of the application, the candidate address of the first ranking in the first ranking result can be determined as the target address; or determining the candidate address of the last order bit in the second ordering result as the target address.
In an embodiment of the present application, after determining the target address, the method further includes:
and sending push information to each terminal belonging to the target address, wherein the push information is associated information of the target address.
In the embodiment of the application, the associated information can include, but is not limited to, the business information of the merchant corresponding to the target address, the commodity type information, the coupon information and the like.
In the embodiment of the disclosure, the target address can be determined according to the number of terminals belonging to each candidate address and the number of associated accounts corresponding to each candidate address, so that the screened target address can meet the requirement of more peripheral users on one hand, and the screened target address can meet the requirement of more users matched with the attribute information of the target object on the other hand, so that the number of potential member users of the target object can be ensured to be more, and the passenger flow of the target object at the target address can be ensured.
As can be seen from the technical solutions provided in the above embodiments of the present application, in the embodiments of the present application, at least two terminals are determined according to at least two candidate addresses of a target object; determining candidate addresses to which each terminal belongs; acquiring attribute information of the target object and target data corresponding to each candidate address, wherein the target data is account associated data corresponding to a terminal belonging to the candidate address; determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address and the attribute information of the target object; according to the application, the number of terminals belonging to each candidate address and the target data corresponding to each candidate address can be accurately determined according to the candidate address of each terminal, and then the address selection result of the target object can be rapidly and accurately determined by combining the attribute information of the target object.
The embodiment of the application also provides a target address determining device, as shown in fig. 13, which comprises:
a terminal determining module 1310, configured to determine at least two terminals according to at least two candidate addresses of the target object;
a candidate address determining module 1320, configured to determine a candidate address to which each terminal belongs;
a target data obtaining module 1330, configured to obtain attribute information of the target object and target data corresponding to each candidate address, where the target data is account associated data corresponding to a terminal belonging to the candidate address;
a target address determining module 1340, configured to determine a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address, and attribute information of the target object; the target address is the address selection result of the target object.
In some embodiments, the destination address determination module comprises:
a terminal number determining unit, configured to determine the number of terminals belonging to each candidate address according to the candidate address to which each terminal belongs;
the associated account number determining unit is used for determining the associated account number of each candidate address according to the terminal belonging to each candidate address; the number of the associated accounts is the number of target data with an association relationship with the attribute information of the target object;
And the target address determining unit is used for determining the target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address and the number of associated accounts corresponding to each candidate address.
In some embodiments, the target address determination unit may include:
a weight determining subunit, configured to determine a first weight of the number of terminals and a second weight of the number of associated accounts;
a comprehensive scoring result determining subunit, configured to determine a comprehensive scoring result of each candidate address according to the number of terminals belonging to each candidate address, the number of associated accounts corresponding to each candidate address, the first weight and the second weight;
a sorting subunit, configured to sort the at least two candidate addresses according to a comprehensive scoring result of each candidate address;
and the target address determining subunit is used for determining the target address from the at least two candidate addresses according to the sorting result.
In some embodiments, the candidate address determination module may include:
a coordinate information acquisition unit for acquiring coordinate information of each terminal;
A geofence determination unit for determining a geofence for each candidate address;
a ray determination unit, configured to determine, with coordinate information of each terminal as a starting point, a ray that is directed to each candidate address by each terminal, where the ray passes through a geofence of each candidate address;
and the candidate address determining unit is used for determining the candidate address to which each terminal belongs according to the ray pointed to each candidate address by each terminal.
In some embodiments, the candidate address determination unit may include:
an intersection number determining subunit, configured to determine the number of intersections between the ray pointed to the candidate address by any terminal and the geofence boundary;
and the candidate address determining subunit is used for determining the candidate addresses corresponding to the geofences with the odd number of intersection points as the candidate address of any terminal.
In some embodiments, the apparatus may further comprise:
the edge number determining module is used for determining the edge number of the geofence corresponding to each candidate address; the geofence is a polygonal structure.
In some embodiments, the intersection number determining subunit may include:
The quantity calculation subunit is used for calculating the number of intersection points of the ray corresponding to any terminal and each edge of any geofence if the edge number of any geofence is smaller than or equal to a preset value;
and the intersection point sum determining subunit is used for determining the sum of the number of intersection points corresponding to the edges of any geofence as the number of intersection points of the ray corresponding to any terminal and the boundary of any geofence.
In some embodiments, the intersection number determining subunit may include:
the R tree construction subunit is used for constructing an R tree according to the minimum outsourcing rectangle corresponding to each edge of the target geofence if the edge number of the target geofence is larger than the preset value; nodes in the R tree represent the rectangle; the target geofence is a geofence corresponding to any one of the at least two candidate addresses;
a target rectangle searching subunit, configured to traverse the R tree and search a target rectangle intersected by any ray corresponding to any terminal;
a target edge determining subunit, configured to determine, according to the target rectangle, a target edge in the target geofence that intersects with the arbitrary ray;
And the intersection point number calculating subunit is used for determining the intersection point number of any ray and the target geofence boundary according to the intersection point number of any ray and the target edge.
In some embodiments, the R-tree building subunit may include:
a rectangle construction subunit, configured to construct a minimum outsourcing rectangle corresponding to each edge of the target geofence, to obtain a first number of rectangles; and taking the first number of rectangles as current rectangles;
a rectangle updating subunit, configured to update a second number of adjacent current rectangles;
the step repeating subunit is configured to, if the number of rectangles indicated by the update result is greater than one, re-use the update result as the current rectangle, and repeat the step of updating the second number of neighboring current rectangles until the number of rectangles indicated by the update result is one; wherein the number of rectangles indicated by the update result is determined based on the first number and the second number;
an R tree determining subunit, configured to construct an R tree based on the minimum outsourcing rectangle corresponding to each edge and the update result; the leaf nodes of the R tree represent the minimum outsourcing rectangles corresponding to each edge, the nodes except the leaf nodes in the R tree represent the rectangles corresponding to the updating result, and the branches of the R tree represent the association relations among different rectangles.
In some embodiments, the candidate address determination module may include:
the interest point determining unit is used for determining the interest point corresponding to each candidate address according to the target distance corresponding to each candidate address;
a target interest point determining unit, configured to determine a target interest point of each candidate address based on a distance between each candidate address and an interest point corresponding to each candidate address;
a terminal determining unit for determining terminals belonging to each target interest point;
and the candidate address determining unit is used for determining the candidate address to which each terminal belongs according to the target interest point of each candidate address and the terminals belonging to each target interest point.
In some embodiments, the point of interest determination unit includes:
the longitude and latitude information determining subunit is used for determining longitude and latitude information corresponding to each candidate address;
the target area determining subunit is used for determining a target area of each candidate address according to longitude and latitude information corresponding to each candidate address and a corresponding target distance;
and the interest point determining subunit is used for determining the interest point corresponding to each candidate address based on the target area of each candidate address.
The device and method embodiments in the device embodiments described are based on the same inventive concept.
The embodiment of the application provides target address determining equipment, which comprises a processor and a memory, wherein at least one instruction or at least one section of program is stored in the memory, and the at least one instruction or the at least one section of program is loaded and executed by the processor to realize the target address determining method provided by the embodiment of the method.
Embodiments of the present application also provide a computer storage medium that may be provided in a terminal to store at least one instruction or at least one program related to a method for determining a target address in a method embodiment, where the at least one instruction or at least one program is loaded and executed by the processor to implement the method for determining a target address provided in the method embodiment.
Embodiments of the present application also provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes to implement the target address determination method provided by the above-mentioned method embodiment.
Alternatively, in an embodiment of the present application, the storage medium may be located on at least one network server of a plurality of network servers of the computer network. Alternatively, in the present embodiment, the storage medium may include, but is not limited to: a U-disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The memory according to the embodiments of the present application may be used to store software programs and modules, and the processor executes the software programs and modules stored in the memory, thereby performing various functional applications and data processing. The memory may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, application programs required for functions, and the like; the storage data area may store data created according to the use of the device, etc. In addition, the memory may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory may also include a memory controller to provide access to the memory by the processor.
The embodiment of the method for determining the target address provided by the embodiment of the application can be executed in a mobile terminal, a computer terminal, a server or similar computing devices. Taking the operation on the server as an example, fig. 14 is a block diagram of a hardware structure of the server of a method for determining a target address according to an embodiment of the present application. As shown in fig. 14, the server 1400 may vary considerably in configuration or performance and may include one or more central processing units (Central Processing Units, CPU) 1410 (the central processing unit 1410 may include, but is not limited to, a microprocessor MCU or a processing device such as a programmable logic device FPGA), a memory 1430 for storing data, one or more storage mediums 1420 (e.g., one or more mass storage devices) storing applications 1423 or data 1422. Wherein the memory 1430 and the storage medium 1420 may be transitory or persistent storage. The program stored on the storage medium 1420 may include one or more modules, each of which may include a series of instruction operations on a server. Still further, the central processor 1410 may be configured to communicate with a storage medium 1420, and execute a series of instruction operations in the storage medium 1420 on the server 1400. The server 1400 may also include one or more power supplies 1460, one or more wired or wireless network interfaces 1450, one or more input/output interfaces 1440, and/or one or more operating systems 1421, such as Windows Server, mac OS XTM, unixTM, linuxTM, freeBSDTM, and the like.
Input-output interface 1440 may be used to receive or transmit data via a network. The specific example of the network described above may include a wireless network provided by a communication provider of the server 1400. In one example, input/output interface 1440 includes a network adapter (Network Interface Controller, NIC) that may connect to other network devices through a base station to communicate with the internet. In one example, the input-output interface 1440 may be a Radio Frequency (RF) module for communicating with the internet wirelessly.
It will be appreciated by those of ordinary skill in the art that the configuration shown in fig. 14 is merely illustrative and is not intended to limit the configuration of the electronic device described above. For example, server 1400 may also include more or fewer components than shown in fig. 14, or have a different configuration than shown in fig. 14.
As can be seen from the above embodiments of the method, apparatus, device or storage medium for determining a target address according to the present application, the present application determines at least two terminals according to at least two candidate addresses of a target object; determining candidate addresses to which each terminal belongs; acquiring attribute information of the target object and target data corresponding to each candidate address, wherein the target data is account associated data corresponding to a terminal belonging to the candidate address; determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address and the attribute information of the target object; according to the application, the number of terminals belonging to each candidate address and the target data corresponding to each candidate address can be accurately determined according to the candidate address of each terminal, and then the address selection result of the target object can be rapidly and accurately determined by combining the attribute information of the target object.
It should be noted that: the sequence of the embodiments of the present application is only for description, and does not represent the advantages and disadvantages of the embodiments. And the foregoing description has been directed to specific embodiments of this specification. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for the apparatus, device, storage medium embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and references to the parts of the description of the method embodiments are only required.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The foregoing description of the preferred embodiments of the application is not intended to limit the application to the precise form disclosed, and any such modifications, equivalents, and alternatives falling within the spirit and scope of the application are intended to be included within the scope of the application.

Claims (14)

1. A method for determining a destination address, the method comprising:
determining at least two terminals according to at least two candidate addresses of the target object;
determining a candidate address to which each terminal belongs;
acquiring attribute information of the target object and target data corresponding to each candidate address, wherein the target data is account associated data corresponding to a terminal belonging to the candidate address;
determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address and the attribute information of the target object; the target address is the address selection result of the target object.
2. The method according to claim 1, wherein determining the target address from the at least two candidate addresses according to the number of terminals assigned to each candidate address, the target data corresponding to each candidate address, and the attribute information of the target object includes:
Determining the number of terminals belonging to each candidate address according to the candidate address to which each terminal belongs;
determining the number of associated accounts of each candidate address according to the terminal belonging to each candidate address; the number of the associated accounts is the number of target data with an association relationship with the attribute information of the target object;
and determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address and the number of associated accounts corresponding to each candidate address.
3. The method according to claim 2, wherein the determining the target address from the at least two candidate addresses according to the number of terminals assigned to each candidate address and the number of associated accounts corresponding to each candidate address includes:
determining a first weight of the number of the terminals and a second weight of the number of the associated accounts;
determining a comprehensive scoring result of each candidate address according to the number of terminals belonging to each candidate address, the number of associated accounts corresponding to each candidate address, the first weight and the second weight;
Sequencing the at least two candidate addresses according to the comprehensive scoring result of each candidate address;
and determining the target address from the at least two candidate addresses according to the sorting result.
4. The method of claim 1, wherein the determining the candidate address to which each terminal belongs comprises:
acquiring coordinate information of each terminal;
determining a geofence for each candidate address;
determining rays which point to each candidate address by using the coordinate information of each terminal as a starting point, wherein the rays pass through a geofence of each candidate address;
and determining the candidate address to which each terminal belongs according to the ray of each terminal pointing to each candidate address.
5. The method of claim 4, wherein the determining the candidate address to which each terminal belongs based on the ray directed to each candidate address by each terminal comprises:
determining the number of intersections of rays of any terminal pointing to each candidate address and each geofence boundary;
and determining the candidate addresses corresponding to the geofences with the odd number of intersection points as the candidate address of any terminal.
6. The method of claim 5, wherein prior to determining the number of intersections of the ray directed by each terminal to each candidate address with each geofence boundary, the method further comprises:
determining the edge number of the geofence corresponding to each candidate address; the geofence is of a polygonal structure;
the determining the number of intersections of the ray of any terminal pointing to each candidate address and each geofence boundary includes:
if the edge number of any geofence is smaller than or equal to a preset value, calculating the intersection point number of the ray corresponding to any terminal and each edge of any geofence;
and determining the sum of the number of the intersection points corresponding to the edges of any geofence as the number of the intersection points of the ray corresponding to any terminal and the boundary of any geofence.
7. The method of claim 6, wherein the determining the number of intersections of the ray directed by any terminal to each candidate address with each geofence boundary comprises:
if the edge number of the target geofence is larger than the preset value, constructing an R tree according to the minimum outsourcing rectangle corresponding to each edge of the target geofence; nodes in the R tree represent the rectangle; the target geofence is a geofence corresponding to any one of the at least two candidate addresses;
Traversing the R tree, and searching a target rectangle intersected with any ray corresponding to any terminal;
determining a target edge intersecting with any ray in the target geofence according to the target rectangle;
and determining the number of the intersection points of any ray and the boundary of the target geofence according to the number of the intersection points of any ray and the target edge.
8. The method of claim 7, wherein constructing an R-tree from the minimum bounding rectangle for each edge of the target geofence comprises:
constructing a minimum outsourcing rectangle corresponding to each side of the target geofence to obtain a first number of rectangles; and taking the first number of rectangles as current rectangles;
updating the second number of adjacent current rectangles;
if the number of the rectangles indicated by the updated result is greater than one, the updated result is re-used as the current rectangle, and the step of updating the second number of adjacent current rectangles is repeated until the number of the rectangles indicated by the updated result is one; wherein the number of rectangles indicated by the update result is determined based on the first number and the second number;
constructing an R tree based on the minimum outsourcing rectangle corresponding to each side and the updating result; the leaf nodes of the R tree represent the minimum outsourcing rectangles corresponding to each edge, the nodes except the leaf nodes in the R tree represent the rectangles corresponding to the updating result, and the branches of the R tree represent the association relations among different rectangles.
9. The method of claim 1, wherein the determining the candidate address to which each terminal belongs comprises:
according to the target distance corresponding to each candidate address, determining the interest point corresponding to each candidate address;
determining a target interest point of each candidate address based on the distance between each candidate address and the interest point corresponding to each candidate address;
determining terminals belonging to each target interest point;
and determining the candidate address to which each terminal belongs according to the target interest point of each candidate address and the terminal belonging to each target interest point.
10. The method of claim 9, wherein determining the point of interest for each candidate address based on the target distance for each candidate address comprises:
determining longitude and latitude information corresponding to each candidate address;
determining a target area of each candidate address according to longitude and latitude information corresponding to each candidate address and a corresponding target distance;
and determining the interest point corresponding to each candidate address based on the target area of each candidate address.
11. A destination address determining apparatus, the apparatus comprising:
The terminal determining module is used for determining at least two terminals according to at least two candidate addresses of the target object;
a candidate address determining module, configured to determine a candidate address to which each terminal belongs;
the target data acquisition module is used for acquiring attribute information of the target object and target data corresponding to each candidate address, wherein the target data is account associated data corresponding to a terminal belonging to the candidate address;
the target address determining module is used for determining a target address from the at least two candidate addresses according to the number of terminals belonging to each candidate address, the target data corresponding to each candidate address and the attribute information of the target object; the target address is the address selection result of the target object.
12. A target address determination apparatus, characterized in that the apparatus comprises a processor and a memory, in which at least one instruction or at least one program is stored, which is loaded and executed by the processor to implement the target address determination method according to any of claims 1-10.
13. A computer storage medium having stored therein at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by a processor to implement the target address determination method of any of claims 1-10.
14. A computer program product comprising computer instructions which, when executed by a processor, implement a method of determining a target address as claimed in any one of claims 1 to 10.
CN202210125231.XA 2022-02-10 2022-02-10 Target address determining method, device, equipment and storage medium Pending CN116628113A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210125231.XA CN116628113A (en) 2022-02-10 2022-02-10 Target address determining method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210125231.XA CN116628113A (en) 2022-02-10 2022-02-10 Target address determining method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116628113A true CN116628113A (en) 2023-08-22

Family

ID=87625279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210125231.XA Pending CN116628113A (en) 2022-02-10 2022-02-10 Target address determining method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116628113A (en)

Similar Documents

Publication Publication Date Title
CN109478184B (en) Identifying, processing, and displaying clusters of data points
Gao et al. Extracting urban functional regions from points of interest and human activities on location‐based social networks
WO2020228706A1 (en) Fence address-based coordinate data processing method and apparatus, and computer device
US9501577B2 (en) Recommending points of interests in a region
US8996523B1 (en) Forming quality street addresses from multiple providers
US7619913B2 (en) Device, method and program for managing area information
CN108388642B (en) Sub-graph query method and device and computer readable storage medium
CN112861972B (en) Site selection method and device for exhibition area, computer equipment and medium
CN111651685A (en) Interest point obtaining method and device, electronic equipment and storage medium
CN111881377B (en) Method and device for processing position interest points
AU2020203554B2 (en) Application of data structures to geo-fencing applications
CN109299207B (en) Chinese earthquake motion parameter zone-drawing service system based on new media
Belcastro et al. Parallel extraction of Regions‐of‐Interest from social media data
CN112819544A (en) Advertisement putting method, device, equipment and storage medium based on big data
CN117216286A (en) Knowledge graph construction method, device, equipment and medium for homeland investigation data
CN114820960B (en) Method, device, equipment and medium for constructing map
CN107657474B (en) Method for determining business circle boundary and server
CN116628113A (en) Target address determining method, device, equipment and storage medium
US10452733B2 (en) Semantic location and proximity of maps
CN110674843B (en) Method and system for generating parking lot entity
Hadig et al. Proximity services with the nimbus framework
Santos et al. Automatic classification of location contexts with decision trees
CN112232572B (en) Space search method, device and storage medium
Rai et al. Top-k Community Similarity Search Over Large-Scale Road Networks (Technical Report)
Rai Efficient Query Processing Over Large Road-Network Graphs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination