US20220067117A1 - System and method for linking data records for parcels - Google Patents
System and method for linking data records for parcels Download PDFInfo
- Publication number
- US20220067117A1 US20220067117A1 US17/372,313 US202117372313A US2022067117A1 US 20220067117 A1 US20220067117 A1 US 20220067117A1 US 202117372313 A US202117372313 A US 202117372313A US 2022067117 A1 US2022067117 A1 US 2022067117A1
- Authority
- US
- United States
- Prior art keywords
- parcel
- parcels
- community
- neighboring
- location
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000013500 data storage Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 238000013523 data management Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 61
- 238000013507 mapping Methods 0.000 description 10
- 238000012795 verification Methods 0.000 description 5
- 238000000926 separation method Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001609 comparable effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services; Handling legal documents
- G06Q50/186—Estate planning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/16—Real estate
Definitions
- the present disclosure generally relates to computerized data management systems for inter-relating, indexing, and organizing data records stored in a database or as computer files, and more particularly to linking or associating data records relating to real estate parcels.
- Entities such as real estate brokers, mortgage lenders, banks, insurance companies, utilities, and so forth may wish to obtain information about one or more real estate parcels in a neighborhood.
- a real estate broker or property appraiser may want to provide a valuation for a specific real estate parcel and may wish to obtain information about other real estate parcels in the neighborhood of the specific real estate parcel (e.g., comparables) as part of the valuation process.
- Such entities may access a computerized database of real estate parcels to obtain information about the parcels.
- the method is performed under control of a geocoding engine comprising computer hardware.
- the method includes accessing a data repository that is configured to store parcel data for each of a plurality of real estate parcels.
- the parcel data is associated with each real estate parcel comprising an address number and a parcel boundary.
- the method also includes identifying a community of real estate parcels, with the community comprising a plurality of real estate parcels separated by no more than a threshold distance, with at least some of the plurality of real estate parcels having spatially contiguous boundaries.
- the method further includes calculating a community border for the community of real estate parcels by: determining links among the real estate parcels in the community to identify a set of neighboring parcels for each of the real estate parcels in the community, generating enlarged parcels by enlarging the parcel boundaries of the real estate parcels in the community to create an overlap among the neighboring parcels among the real estate parcels in the community, finding a union of the enlarged parcels to identify an outward facing boundary of the union of enlarged parcels, and reducing the outward facing boundary of the union of enlarged parcels to determine the community border for the community.
- the method includes identifying a group of real estate parcels in the community, wherein each of the real estate parcels in the group intersects the community border, determining, for each real estate parcel in the group, a border intersection between the real estate parcel and the community border, finding, for each real estate parcel in the group, a reduced set of neighboring real estate parcels based at least in part on a distance between the border intersection for the real estate parcel and locations of the other real estate parcels in the group, and linking, for each real estate parcel in the group, the real estate parcel to at least one other real estate parcel in the reduced set, such that the at least one other real estate parcel in the reduced set has an address number that brackets an address number of the real estate parcel.
- the system comprises non-transitory data storage configured to store parcel data for each of a plurality of parcels, with the parcel data associated with each parcel comprising an address number and a parcel boundary, and a computer system comprising computer hardware.
- the computer system is in communication with the non-transitory data storage, and the computer system programmed with executable instructions to perform the following: identify a community of parcels, with the community comprising a plurality of parcels separated by no more than a threshold distance, and at least some of the plurality of parcels having spatially contiguous boundaries.
- the computer system is also programmed to calculate a community border for the community of parcels by: determining neighboring parcels for each of the parcels in the community, generating enlarged parcels so that at least some neighboring parcels overlap, finding an outer perimeter of a union of the enlarged parcels, and reducing the outer perimeter of the union of enlarged parcels to provide the community border for the community.
- the computer system is also programmed such that for each parcel in the community of parcels that intersects the community border, the system can calculate a border intersection between the parcel and the community border, determine a reduced set of neighboring parcels based at least in part on distances between the border intersection for the parcel and locations of other parcels that intersect the community border, and link the parcel to at least one other parcel in the reduced set of neighboring parcels, such that the at least one other parcel in the reduced set has an address number that brackets an address number of the parcel.
- non-transitory computer storage comprises computer-executable instructions that, when executed by a computer, cause the computer to identify a community of parcels, with the community comprising a plurality of parcels separated by no more than a threshold distance, and at least some of the plurality of parcels having spatially contiguous boundaries.
- the computer-executable instructions also include instructions to calculate a community border for the community of parcels, and for each parcel in the community of parcels that intersects the community border, calculate a border intersection between the parcel and the community border, determine a reduced set of neighboring parcels based at least in part on distances between the border intersection for the parcel and locations of other parcels that intersect the community border, and link the parcel to at least one other parcel in the reduced set of neighboring parcels.
- FIG. 1 is a block diagram schematically illustrating an example of a geocoding engine for managing information associated with real estate parcels.
- FIG. 2A schematically illustrates an example of a community of parcels.
- FIG. 2B schematically illustrates links (in bold lines) for the parcels in the community.
- FIGS. 3A and 3B schematically illustrate example appearances of a parcel boundary at two different resolutions for a lower right corner of a parcel in the example community illustrated in FIGS. 2A and 2B .
- FIG. 4A schematically illustrates an example of enlargement of the parcel boundaries for the example community of parcels illustrated in FIGS. 2A and 2B .
- FIG. 4B schematically illustrates an example of the community border for the example community of parcels illustrated in FIGS. 2A and 2B .
- FIG. 4C schematically illustrates an example of a border intersection of a parcel with the community border.
- FIG. 5 schematically illustrates an example of links (in bold) between centroids of address neighbor parcels in the example community illustrated in FIGS. 2A and 2B . Note the number of links between neighbor parcels has been reduced compared to the number of links illustrated in the example in FIG. 2B .
- FIG. 6 is a flowchart that schematically illustrates an example of a link process for linking real estate parcels.
- some parcel addresses may be missing because the information either did not exist in the original data obtained from counties, or the records failed to pass a validation process due to bad values such as invalid street numbers or names.
- a validation process may use addresses from other databases to fill in parcels data records with missing or bad information.
- the parcels can be linked to neighboring parcels based on potential street number order.
- Linking a particular parcel to ‘address neighbors’ with the next lower and next higher address number in a spatial sense can present challenges.
- a parcel may have many spatial neighbors either touching or nearly the parcel, and only some of these neighbor parcels may bracket the parcel in a street number sense. Many situations exist where more than one set of bracketing neighbor parcels exist. Accordingly, it is desirable to provide a link process to maintain potential links between potential address neighbors, while dismissing or removing links between the remaining spatial neighbor parcels.
- the example geocoding engines and address linking methods described herein can be used to address such challenges.
- an address number may not be known for one or more parcels in a group of parcels (e.g., a community of parcels described below), e.g., due to errors or omissions in an address data source.
- Certain implementations of the disclosed systems and methods can be used to identify address neighbors of the parcels with unknown address numbers. By using the (known) address numbers of at least some of the neighbor parcels, the systems and methods can assign a likely address number to parcels with unknown address numbers. Further, even if address numbers for all the parcels in the community are known from a particular data source, implementations of the systems and methods can be used to validate or verify the address numbers from the data source.
- FIG. 1 is a block diagram schematically illustrating an example of a geocoding engine 100 for managing information associated with real estate parcels.
- the geocoding engine 100 can provide services for inter-relating, indexing, and organizing data records stored in a database or as computer files, and more particularly to linking or associating data records relating to real estate parcels.
- the example geocoding engine 100 can provide precise address standardization and can use multiple data sources to convert physical address or locations into precise geographic coordinates.
- the geocoding engine 100 can integrate information relating to street geometry, street-segment attribution, postal delivery locations, and individual property parcels.
- the geocoding engine 100 can provide services to identify points inside or near a parcel, establish distance(s) to coastlines, rivers, or other natural hazard areas, spatially compute map feature types (e.g., points, lines, polygons), provide post code centroids, city centroids, and intersections, or provide parcel ownership information.
- map feature types e.g., points, lines, polygons
- the geocoding engine 100 illustrated in FIG. 1 includes a set of real estate parcel services 105 that are accessible over a network 135 via one or more computing devices 140 .
- the parcel services 105 can access a data repository 130 (e.g., via the network 135 ) to perform various types of parcel data management tasks, including tasks associated with parcel acquisition and aggregation 110 , verification 115 , parcel linking 120 , and reporting 125 .
- the modules 110 , 115 , 120 , and 125 can be implemented as software or machine-readable instructions that are stored in a memory.
- the data repository 130 includes a database of mapping data, a database of addressing data, and a database of parcel data. Although depicted as separate databases, some of these data collections may be merged into a single database or distributed across multiple distinct databases. Further, additional databases containing other types of information may be maintained and used by the parcel services 105 .
- the mapping database can include Geographic Information Systems (“GIS”) data associated with real estate parcels.
- GIS Geographic Information Systems
- the mapping database can include boundary and centroid data for the parcels.
- Boundary data for a parcel may include boundary coordinates and, in some cases, the parcel geometry may be defined as polygon data (e.g., coordinates of polygon corners, vertices, nodes, or edges). Coordinates may include latitude and/or longitude coordinates or other coordinate types.
- the mapping database can include shape files for the parcels, which may include designators to indicate where coordinates begin and end for a parcel geometry (e.g., the coordinates for a geometry may be placed on the same line or may be surrounded on either side by a geometry indicator (such as an asterisk or backslash).
- Mapping data can be obtained from one or more mapping services providers such as Google, Apple, HERE, TomTom, etc.
- the addressing database contains addressing data obtained from one or more entities, such as government agencies (e.g., cities, counties, etc.), the U.S. Postal Service, etc. that include mailing address data associated with real estate parcels.
- Addressing data for a parcel can include an address number, a street name, a directional (e.g., direction information such as N, S, E, W, NE, NW, SE, SW), which may be predirectional (before the street name) or postdirectional (after the street name), city name, state, zip code, and/or country.
- the parcel database can include information acquired or aggregated for real estate parcels.
- parcel data can be obtained from multiple entities such as a county recorder's office, a tax assessor's office, private entities (e.g., CoreLogic, Inc., Irvine, Calif.), etc.
- Parcel data can include attributes of real estate parcels such as, e.g., address, assessor parcel number (APN), tax identification number, as well as information on the owner (or occupier) of the parcel.
- the real estate parcel data stored in the data repository 130 can include data records on parcels in several thousand counties in the U.S., accounting for 140 million parcels nationwide. Accordingly, highly specialized computer techniques are necessary to index, organize, and link these hundreds of millions of data records in the databases.
- the real estate parcel services 105 can include modules for parcel acquisition and aggregation 110 , parcel verification 115 , parcel linking 120 , and reporting 125 .
- the data management operations may be said to be performed on parcels, and this is to be understood as meaning the data management operations are performed on a parcel data (e.g., parcel data records stored in a parcel database) rather than on the physical real estate parcels referenced by the parcel data.
- the parcel acquisition and aggregation module 110 can acquire parcel data from one or more sources (governmental or commercial) and store the aggregated parcel information in the parcel database in the data repository 130 .
- Scripts may be used to perform data standardization and/or normalization of parcel data from different sources into a common format database or collection of databases. For example, data may be collected from sources (e.g., external) and scripts may be used to convert the data, clean-up/repair data, and track data during the acquisition process. Scripts may perform these functions in an automated manner or may execute with manual assistance from a system user (e.g., through a graphical user interface).
- the verification module 115 can verify the accuracy of the acquired parcel data by comparing to the mapping date and/or the address data. Data verification may be performed before the aggregated parcel data is stored in the parcel database. Various algorithms may be performed for the verification. For example, weights and/or priorities may be applied to the mapping data and addressing data. In some regions the mapping data may be known to be more accurate than in other regions. In regions with higher accuracy data, a higher weight/priority may be applied in the verification process. Higher priority/weight can be used to determine the accuracy of the parcel attributes and what, if any, adjustments and/or additions should be made to the parcel attributes. In some embodiments, a weighted matching algorithm may be applied to the parcel attributes to determine when the parcel data has been verified. For example, the parcel attributes may be compared with the mapping and addressing data, and a match score based on the weights can be determined. If the match score exceeds a certain threshold, then the parcel data may be considered verified.
- weights and/or priorities may be applied to the mapping data and addressing
- the parcel linking module 120 can be configured to link or de-link parcels in a neighborhood of a given parcel.
- the parcel linking module 120 can implement embodiments of a link process that is further described below.
- the link process starts with an input parcel community, which is a group of a plurality of parcels separated by no more than a threshold distance. At least some of the parcels in the community have spatially contiguous property boundaries.
- the community may be bounded by streets adjacent to the community. Because parcels share boundaries with direct neighbors but typically do not extend across streets, a community may be thought of as analogous to, for example, a city block.
- the community may be bounded by streets.
- the link process can generate a number of intermediate actions, including enlarged parcel boundaries and their polygon union, a reduced boundary, parcel and reduced boundary intersection segments, and data structures maintaining links between parcels.
- a result of the link process is that a given parcel is linked to a reduced set of neighbor parcels.
- the parcels in the reduced set can be matched to the proper street address for each individual parcel. For example, addresses of the neighbor parcels tend to bracket the given parcel in a street number sense (e.g., a parcel with a lower address number and a parcel with a higher address number than the address of the given parcel).
- the reporting module 125 can provide or output information about the parcels to a system administrator or customer (e.g., a real estate agent or an insurance company). For example, the reporting module 125 may provide information via electronic mail, via a web-based interface (e.g., using suitable application programming interface (API) commands), over the network 135 , etc.
- the reporting module 225 may store the parcel information acquired, updated, or generated by the services 105 in a data store (e.g., the data store 130 shown in FIG. 1 or some other data store) where the parcel information can be accessed by appropriate parties.
- a data store e.g., the data store 130 shown in FIG. 1 or some other data store
- the geocoding engine 100 of FIG. 1 is shown as comprising several separate modules for providing the parcel services 105 , this is for purposes of illustration and is not intended to limit the scope of the geocoding engine. In other implementations, some or all of the functionality of the illustrated modules may be combined, rearranged, or left out.
- One or more computing devices 140 can obtain the services 105 from the geocoding engine 100 over a network 135 .
- an administrator or manager can use a computing device 140 to manage the system, or a customer, such as a real estate broker, insurance provider, government agency, etc., can use a computing device to request or access one or more of the real estate services.
- the computing devices 140 can include general purpose computers, servers, data input devices (e.g., terminals or displays), web interfaces, portable or mobile computers, laptops, or tablets, smart phones, etc.
- the network 135 can provide wired or wireless communication between the computing devices 140 and the services 105 provided by the engine 100 .
- the real estate parcel data store 130 can communicate with the services 105 (and/or the computing devices 140 ) over the network 135 .
- the network 135 can be configured as a local area network (LAN), a wide area network (WAN), the Internet, an intranet, combinations of the same, or the like.
- the network 135 can be configured to support secure shell (SSH) tunneling or other secure protocol connections for the transfer of data between the geocoding engine 100 , the computing devices 140 , and/or the data store 130 .
- SSH secure shell
- the geocoding engine 100 and the real estate parcel services 105 can be implemented on computer hardware, such as one or more physical computer servers programmed with specific computer-executable instructions.
- the data store 130 can be implemented on any type of computer storage medium (e.g., non-transitory data storage). Although illustratively shown as a single data store in FIG. 1 , the real estate parcel data can be stored on any number of data stores.
- the geocoding engine 100 may access machine-readable versions of the real estate parcel data (e.g., information stored on the data store 130 ).
- the machine-readable version can include an extensible markup language (XML) version of the data fields in a data record.
- the fields can include numerical, Boolean, or alpha-numeric values.
- the geocoding engine may use such data, or information based on an analysis of such data that is obtained from public or proprietary data sources (e.g., from CoreLogic, Inc., Irvine, Calif.).
- the parcel linking module 120 of the geocoding engine 100 can perform a process to link (or de-link) parcels.
- the link process can maintain potential links between potential address neighbors, while dismissing or removing links between the remaining spatial neighbor parcels.
- the link process can be used to link a particular parcel to ‘address neighbors’ with the next lower and next higher address number in a spatial sense.
- the link process starts with input parcel “communities,” which are groups of spatially contiguous parcel boundaries separated by no more than a threshold distance. Because parcels share boundaries with direct neighbors but typically do not extend across streets, a community is analogous to a city block.
- FIG. 2A schematically illustrates an example of a community 200 of parcels, such as parcels 205 a , 205 b , 205 c , 205 d , and 205 e .
- Each parcel has a boundary that defines the metes and bounds of the parcel.
- the threshold distance used to define a particular community can depend on, for example, a distance between parcels, widths of streets separating parcels, distances between streets the bound the community of parcels, etc.
- the threshold distance can be a fraction (e.g., 1 ⁇ 2, 1 ⁇ 3, or 1 ⁇ 4) of a street width, because, as noted, parcels share boundaries with direct neighbors but typically do not extend across streets.
- the link process can generate a number of intermediate actions, including enlarged parcel boundaries and their polygon union, a reduced boundary, parcel and reduced boundary intersection segments, and data structures maintaining links between parcels.
- a result of the link process is that a given parcel is linked to a reduced set of neighbor parcels.
- the parcels in the reduced set can be matched to the proper street address for each individual parcel. For example, addresses of the neighbor parcels tend to bracket the given parcel in a street number sense (e.g., a parcel with a lower address number and a parcel with a higher address number than the address of the given parcel).
- the process can operate on a per community basis and will be described with reference to the example community 200 of parcels schematically illustrated in FIG. 2A .
- the link process determines spatial neighboring parcels for each parcel in the community.
- the process also determines links between centroids of these spatial neighbors.
- FIG. 2B schematically illustrates links (in bold lines) for the parcels in the community 200 .
- the parcel 205 a has links 210 a to its two neighboring parcels
- the parcel 205 b has links 210 b to its three neighboring parcels
- the parcel 205 c has links 210 c to its four neighboring parcels.
- Some parcels can have many spatial neighbors.
- the parcel 205 d has nine neighboring parcels.
- the parcel link process can determine a community border for the community of parcels.
- the community border can be obtained from the union of each parcel boundary in the community, for example, by determining the outward facing borders of the community.
- the union of the parcel boundaries includes a border that faces one or more streets, and the community border can reflect the location of these street(s).
- the parcel link process calculates a path (e.g., a perimeter) that surrounds the community of parcels.
- the link process may reduce (or shrink) the path so that the path intersects at least a portion of the parcels in the community and the reduced (or shrunken) path may represent the community border.
- Parcel boundary data can include errors or inaccuracies of varying degrees.
- FIGS. 3A and 3B schematically illustrate example appearances of a parcel boundary at two different resolutions for the lower right corner of the parcel 205 e in the community 200 .
- the parcel 205 e appears to be connected to spatial neighbors, however, at a higher resolution shown in FIG. 3B , the parcel 205 e is unconnected to its spatial neighbors.
- a parcel that appears connected to spatial neighbors may not be connected at all, and the union of the parcel boundaries may have disconnected pieces or wedge shaped interior spikes.
- FIG. 4A schematically illustrates an example of the enlargement of the parcel boundaries for the community 200 of parcels.
- the original boundary and the enlarged boundary are illustrated in FIG. 4A .
- the original boundary 400 a has been enlarged to boundary 400 b so as to overlap neighbor parcels 205 b and 205 f .
- FIG. 4A schematically illustrates an example of the enlargement of the parcel boundaries for the community 200 of parcels.
- the original boundary 400 a has been enlarged to boundary 400 b so as to overlap neighbor parcels 205 b and 205 f .
- the enlargement causes each parcel boundary to move outward from the centroid of the parcel to create overlap with neighboring parcels.
- the amount of enlargement can depend on, for example, a typical distance between centroids of adjacent parcels and may be a fraction (e.g., 1%, 5%, 10%, etc.) of that distance.
- the link process may apply a union operation to the parcels in the community (e.g., to find the outward street facing boundary of the community) and a reduction operation (sometimes referred to as an erosion operation) to reduce the enlargement which results in the generation of the community border (e.g., the outward street facing border).
- the reduction of the parcel boundaries can be by a reduction amount than the enlargement amount, for example, by a factor of twice the enlargement amount.
- the community border slightly intersects the parcels in the community.
- FIG. 4B schematically illustrates in bold an example of the community border 410 for the community 200 .
- the community border can be a polygon, e.g., the example community border 410 illustrated in FIG. 4B is a four-sided polygon (e.g., a rectangle in this example).
- the link process can then determine a group of parcels in the community such that each of the parcels in the group intersects the community border.
- all of the parcels in the community intersect the community border 410 so that the group contains all of the community parcels.
- only a subset of the parcels will intersect the community border, with the remaining parcels located interior to (and not intersecting) the community border. In such cases, the group of parcels contains fewer than all the parcels in the community.
- the link process determines a border intersection between the parcel and the community border.
- the border intersection for a particular parcel is typically a shorter portion of the community border representing the street-facing region (or regions) of the parcel.
- FIG. 4C schematically illustrates an example of the border intersection 410 e of the parcel 205 e with the community border 410 .
- the parcel 205 e intersects the community border 410 at one location, more complicated shaped parcels may intersect the community border in multiple locations.
- the link process may perform a spatial operation to filter neighbors of each parcel to generate a reduced set of neighbor parcels that includes only those parcels within a threshold distance from that parcel's border intersection.
- the threshold distance can depend on a typical distance between parcels in the community, an overall size of the community, etc.
- the link process can order the neighbor parcels in the reduced set based on distance from the parcel's border intersection and thereby identify the neighbor parcels that likely bracket the parcel in an address number sense (e.g., the next lower address number and the next higher address number). For example, such bracketing neighbor parcel(s) can be identified as the parcel(s) in the reduced set with the smallest distance(s) from the border intersection of the parcel.
- the bracketing neighbor parcels may include two parcels in the reduced set having the least distance and the next-to-least distance, respectively, from the border intersection, because these two parcels are likely to be the two closest neighbors of the parcel (both in a spatial sense and in an address number sense).
- directionality of the links to parcels in the reduced set can be used to identify the bracketing neighbors of a given parcel.
- one bracketing neighbor may be on a first side of the given parcel, and a second bracketing neighbor may be on a second side of the given parcel, with the second side different from the first side (e.g., opposite to the first side).
- the second neighbor may be on the “left side” or the “south side”, respectively, of the given parcel.
- FIG. 5 schematically illustrates an example of connections 500 between centroids of the reduced (filtered) set of neighbor parcels for the example community 200 .
- each of the parcels is linked to a reduced set of neighbors (in this illustrative example, two neighbors for each parcel).
- a parcel is de-linked from other parcels in the community that are not in the reduced set, which advantageously may permit finding the bracketing address neighbors.
- the two neighbors 205 g , 205 h are those facing the street to which the parcel 205 e is most likely addressed.
- the addresses of the two neighbors 205 g , 205 h thereby tend to bracket the address of the parcel 205 e in an address number sense.
- one of the parcels 205 g , 205 h likely has a higher address number than the address number for the parcel 205 e
- the other one of the parcels 205 g , 205 h likely has a lower address number than the address number for the parcel 205 e .
- the link process has not only reduced the number of potential neighbors for the parcel 205 e from nine (shown in FIG.
- the geocoding engine 100 can more readily match or verify the proper address to each parcel.
- FIG. 6 is a flowchart that schematically illustrates an example of a link process 600 for linking real estate parcels.
- the link process 600 can be performed by the parcel linking module 120 of the geocoding engine 100 .
- the link process 600 can include some or all of the actions described with reference to the example community 200 illustrated in FIGS. 2A-5 .
- the link process determines a community border for a community of real estate parcels.
- the link process may determine links to neighbor parcels (see, e.g., FIG. 2B ).
- the link process may enlarge the parcels to create overlap among the parcels (see, e.g., FIG. 4A ).
- the link process can determine the union of the enlarged parcels, and at block 650 , the link process can reduce the enlarged parcels (e.g., by an amount equal to twice the enlargement as discussed with reference to FIGS. 4A and 4B ).
- the link process can thereby determine the community border, which slightly intersects the parcels in the community.
- the community border may be the outward facing border toward the street(s) surrounding the community.
- the link process works through the parcels in the community to identify a reduces set of parcels that neighbor each parcel (e.g., the address neighbor parcels).
- the link process determines a border intersection between the parcel and the community border.
- the link process filters the neighbors of the parcel to identify a reduced set of neighbors.
- the filter can be a spatial filter that includes in the reduced set only those parcels within a threshold distance from the parcel's border intersection. The threshold distance can depend on a typical distance between parcels in the community, an overall size of the community, etc.
- the link process can order the neighbor parcels in the reduced set based on distance from the parcel's border intersection and thereby identify the neighbor parcels that likely bracket the parcel in an address number sense (e.g., the next lower address number and the next higher address number relative to the parcel's address number). For example, such bracketing neighbor parcels can be identified as the parcels in the reduced set with the smallest distances from the border intersection of the parcel.
- the link process 600 can link the parcel to at least one neighbor parcel in the reduced set. In many cases, the parcel can be linked to two parcels in the reduced set, which have address numbers that bracket the address number of the parcel.
- the link process can then return to block 660 to process the next parcel in the community. When all parcels in the community have been analyzed, the link process terminates.
- Use of the link process by the parcel linking module 120 can provide one or more advantages in various implementations of the geocoding engine 100 . For example, by linking parcels with their neighbors in the reduced set, rather than all the neighbors in the community, the parcel information in the parcel database can be more efficiently managed by the geocoding engine 100 . Further, by linking a parcel to its neighbors in the reduced set, the geocoding engine 100 can more accurately match a parcel with its address number, which provides a more accurate and reliable parcel database for use by real estate professionals, insurance companies, government agencies, and so forth.
- Each of the processes, methods, and algorithms described herein and/or depicted in the attached figures may be embodied in, and fully or partially automated by, code modules executed by one or more physical computing systems, hardware computer processors, application-specific circuitry, and/or electronic hardware configured to execute specific and particular computer instructions.
- computing systems can include general purpose computers (e.g., servers) programmed with specific computer instructions or special purpose computers, special purpose circuitry, and so forth.
- a code module may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language.
- particular operations and methods may be performed by circuitry that is specific to a given function.
- the real estate parcel database can include hundreds of millions of parcel records, and specifically programmed computer hardware is necessary to process the parcel data (e.g., to link spatially neighboring parcels) in a commercially reasonable amount of time.
- Code modules or any type of data may be stored on any type of non-transitory computer-readable medium, such as physical computer storage including hard drives, solid state memory, random access memory (RAM), read only memory (ROM), optical disc, volatile or non-volatile storage, combinations of the same and/or the like.
- the methods and modules (or data) may also be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames).
- the results of the disclosed processes or process steps may be stored, persistently or otherwise, in any type of non-transitory, tangible computer storage or may be communicated via a computer-readable transmission medium.
- any processes, blocks, states, steps, or functionalities in flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing code modules, segments, or portions of code which include one or more executable instructions for implementing specific functions (e.g., logical or arithmetical) or steps in the process.
- the various processes, blocks, states, steps, or functionalities can be combined, rearranged, added to, deleted from, modified, or otherwise changed from the illustrative examples provided herein.
- additional or different computing systems or code modules may perform some or all of the functionalities described herein.
- the processes, methods, and systems may be implemented in a network (or distributed) computing environment.
- Network environments include enterprise-wide computer networks, intranets, local area networks (LAN), wide area networks (WAN), personal area networks (PAN), cloud computing networks, crowd-sourced computing networks, the Internet, and the World Wide Web.
- the network may be a wired or a wireless network or any other type of communication network.
- a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members.
- “at least one of: A, B, or C” is intended to cover: A, B, C, A and B, A and C, B and C, and A, B, and C.
- Conjunctive language such as the phrase “at least one of X, Y and Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to convey that an item, term, etc. may be at least one of X, Y or Z. Thus, such conjunctive language is not generally intended to imply that certain embodiments require at least one of X, at least one of Y and at least one of Z to each be present.
Abstract
Computerized data management systems and methods for inter-relating, indexing, and organizing data records stored in a database or as computer files are described. The systems and methods can be used for linking or associating data records relating to real estate parcels. A given parcel in a community of parcels may have many neighbors. The systems and methods can identify a reduced set of neighbors of the parcel that have addresses that bracket the address of the parcel.
Description
- This application is a continuation of U.S. patent application Ser. No. 16/370,686, titled “SYSTEM AND METHOD FOR LINKING DATA RECORDS FOR PARCELS,” filed Mar. 29, 2019, which is a continuation of U.S. patent application Ser. No. 14/713,663, titled “SYSTEM AND METHOD FOR LINKING DATA RECORDS FOR PARCELS,” filed May 15, 2015, issued as U.S. Pat. No. 10,248,731, which claims the benefit of priority to U.S. Provisional Patent Application No. 61/994,363, filed May 16, 2014, titled “SYSTEM AND METHOD FOR LINKING PARCELS,” which are hereby incorporated by reference herein in their entireties.
- The present disclosure generally relates to computerized data management systems for inter-relating, indexing, and organizing data records stored in a database or as computer files, and more particularly to linking or associating data records relating to real estate parcels.
- Entities such as real estate brokers, mortgage lenders, banks, insurance companies, utilities, and so forth may wish to obtain information about one or more real estate parcels in a neighborhood. For example, a real estate broker or property appraiser may want to provide a valuation for a specific real estate parcel and may wish to obtain information about other real estate parcels in the neighborhood of the specific real estate parcel (e.g., comparables) as part of the valuation process. Such entities may access a computerized database of real estate parcels to obtain information about the parcels.
- An implementation of a method of linking real estate parcels in a database is described. The method is performed under control of a geocoding engine comprising computer hardware. The method includes accessing a data repository that is configured to store parcel data for each of a plurality of real estate parcels. The parcel data is associated with each real estate parcel comprising an address number and a parcel boundary. The method also includes identifying a community of real estate parcels, with the community comprising a plurality of real estate parcels separated by no more than a threshold distance, with at least some of the plurality of real estate parcels having spatially contiguous boundaries. The method further includes calculating a community border for the community of real estate parcels by: determining links among the real estate parcels in the community to identify a set of neighboring parcels for each of the real estate parcels in the community, generating enlarged parcels by enlarging the parcel boundaries of the real estate parcels in the community to create an overlap among the neighboring parcels among the real estate parcels in the community, finding a union of the enlarged parcels to identify an outward facing boundary of the union of enlarged parcels, and reducing the outward facing boundary of the union of enlarged parcels to determine the community border for the community. The method includes identifying a group of real estate parcels in the community, wherein each of the real estate parcels in the group intersects the community border, determining, for each real estate parcel in the group, a border intersection between the real estate parcel and the community border, finding, for each real estate parcel in the group, a reduced set of neighboring real estate parcels based at least in part on a distance between the border intersection for the real estate parcel and locations of the other real estate parcels in the group, and linking, for each real estate parcel in the group, the real estate parcel to at least one other real estate parcel in the reduced set, such that the at least one other real estate parcel in the reduced set has an address number that brackets an address number of the real estate parcel.
- An implementation of a system for of linking in a database is described. The system comprises non-transitory data storage configured to store parcel data for each of a plurality of parcels, with the parcel data associated with each parcel comprising an address number and a parcel boundary, and a computer system comprising computer hardware. The computer system is in communication with the non-transitory data storage, and the computer system programmed with executable instructions to perform the following: identify a community of parcels, with the community comprising a plurality of parcels separated by no more than a threshold distance, and at least some of the plurality of parcels having spatially contiguous boundaries. The computer system is also programmed to calculate a community border for the community of parcels by: determining neighboring parcels for each of the parcels in the community, generating enlarged parcels so that at least some neighboring parcels overlap, finding an outer perimeter of a union of the enlarged parcels, and reducing the outer perimeter of the union of enlarged parcels to provide the community border for the community. The computer system is also programmed such that for each parcel in the community of parcels that intersects the community border, the system can calculate a border intersection between the parcel and the community border, determine a reduced set of neighboring parcels based at least in part on distances between the border intersection for the parcel and locations of other parcels that intersect the community border, and link the parcel to at least one other parcel in the reduced set of neighboring parcels, such that the at least one other parcel in the reduced set has an address number that brackets an address number of the parcel.
- An implementation of non-transitory computer storage is described. The non-transitory computer storage comprises computer-executable instructions that, when executed by a computer, cause the computer to identify a community of parcels, with the community comprising a plurality of parcels separated by no more than a threshold distance, and at least some of the plurality of parcels having spatially contiguous boundaries. The computer-executable instructions also include instructions to calculate a community border for the community of parcels, and for each parcel in the community of parcels that intersects the community border, calculate a border intersection between the parcel and the community border, determine a reduced set of neighboring parcels based at least in part on distances between the border intersection for the parcel and locations of other parcels that intersect the community border, and link the parcel to at least one other parcel in the reduced set of neighboring parcels.
- Details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Neither this summary nor the following detailed description purports to define or limit the scope of the inventive subject matter.
-
FIG. 1 is a block diagram schematically illustrating an example of a geocoding engine for managing information associated with real estate parcels. -
FIG. 2A schematically illustrates an example of a community of parcels. -
FIG. 2B schematically illustrates links (in bold lines) for the parcels in the community. -
FIGS. 3A and 3B schematically illustrate example appearances of a parcel boundary at two different resolutions for a lower right corner of a parcel in the example community illustrated inFIGS. 2A and 2B . -
FIG. 4A schematically illustrates an example of enlargement of the parcel boundaries for the example community of parcels illustrated inFIGS. 2A and 2B . -
FIG. 4B schematically illustrates an example of the community border for the example community of parcels illustrated inFIGS. 2A and 2B . -
FIG. 4C schematically illustrates an example of a border intersection of a parcel with the community border. -
FIG. 5 schematically illustrates an example of links (in bold) between centroids of address neighbor parcels in the example community illustrated inFIGS. 2A and 2B . Note the number of links between neighbor parcels has been reduced compared to the number of links illustrated in the example inFIG. 2B . -
FIG. 6 is a flowchart that schematically illustrates an example of a link process for linking real estate parcels. - Throughout the drawings, reference numbers may be re-used to indicate correspondence between referenced elements. The drawings are provided to illustrate example embodiments described herein and are not intended to limit the scope of the disclosure.
- In the process of building a real estate parcel dataset, some parcel addresses may be missing because the information either did not exist in the original data obtained from counties, or the records failed to pass a validation process due to bad values such as invalid street numbers or names. In some cases, a validation process may use addresses from other databases to fill in parcels data records with missing or bad information. For the validation process to associate an address with the correct parcel, in some embodiments, the parcels can be linked to neighboring parcels based on potential street number order.
- Linking a particular parcel to ‘address neighbors’ with the next lower and next higher address number in a spatial sense can present challenges. A parcel may have many spatial neighbors either touching or nearly the parcel, and only some of these neighbor parcels may bracket the parcel in a street number sense. Many situations exist where more than one set of bracketing neighbor parcels exist. Accordingly, it is desirable to provide a link process to maintain potential links between potential address neighbors, while dismissing or removing links between the remaining spatial neighbor parcels. The example geocoding engines and address linking methods described herein can be used to address such challenges.
- For example, in some cases, an address number may not be known for one or more parcels in a group of parcels (e.g., a community of parcels described below), e.g., due to errors or omissions in an address data source. Certain implementations of the disclosed systems and methods can be used to identify address neighbors of the parcels with unknown address numbers. By using the (known) address numbers of at least some of the neighbor parcels, the systems and methods can assign a likely address number to parcels with unknown address numbers. Further, even if address numbers for all the parcels in the community are known from a particular data source, implementations of the systems and methods can be used to validate or verify the address numbers from the data source.
-
FIG. 1 is a block diagram schematically illustrating an example of ageocoding engine 100 for managing information associated with real estate parcels. Thegeocoding engine 100 can provide services for inter-relating, indexing, and organizing data records stored in a database or as computer files, and more particularly to linking or associating data records relating to real estate parcels. - The
example geocoding engine 100 can provide precise address standardization and can use multiple data sources to convert physical address or locations into precise geographic coordinates. Thegeocoding engine 100 can integrate information relating to street geometry, street-segment attribution, postal delivery locations, and individual property parcels. For example, in various embodiments, thegeocoding engine 100 can provide services to identify points inside or near a parcel, establish distance(s) to coastlines, rivers, or other natural hazard areas, spatially compute map feature types (e.g., points, lines, polygons), provide post code centroids, city centroids, and intersections, or provide parcel ownership information. - The
geocoding engine 100 illustrated inFIG. 1 includes a set of realestate parcel services 105 that are accessible over anetwork 135 via one ormore computing devices 140. Theparcel services 105 can access a data repository 130 (e.g., via the network 135) to perform various types of parcel data management tasks, including tasks associated with parcel acquisition andaggregation 110,verification 115, parcel linking 120, and reporting 125. Themodules data repository 130 includes a database of mapping data, a database of addressing data, and a database of parcel data. Although depicted as separate databases, some of these data collections may be merged into a single database or distributed across multiple distinct databases. Further, additional databases containing other types of information may be maintained and used by the parcel services 105. - The mapping database can include Geographic Information Systems (“GIS”) data associated with real estate parcels. The mapping database can include boundary and centroid data for the parcels. Boundary data for a parcel may include boundary coordinates and, in some cases, the parcel geometry may be defined as polygon data (e.g., coordinates of polygon corners, vertices, nodes, or edges). Coordinates may include latitude and/or longitude coordinates or other coordinate types. The mapping database can include shape files for the parcels, which may include designators to indicate where coordinates begin and end for a parcel geometry (e.g., the coordinates for a geometry may be placed on the same line or may be surrounded on either side by a geometry indicator (such as an asterisk or backslash). Mapping data can be obtained from one or more mapping services providers such as Google, Apple, HERE, TomTom, etc.
- The addressing database contains addressing data obtained from one or more entities, such as government agencies (e.g., cities, counties, etc.), the U.S. Postal Service, etc. that include mailing address data associated with real estate parcels. Addressing data for a parcel can include an address number, a street name, a directional (e.g., direction information such as N, S, E, W, NE, NW, SE, SW), which may be predirectional (before the street name) or postdirectional (after the street name), city name, state, zip code, and/or country.
- The parcel database can include information acquired or aggregated for real estate parcels. For example, parcel data can be obtained from multiple entities such as a county recorder's office, a tax assessor's office, private entities (e.g., CoreLogic, Inc., Irvine, Calif.), etc. Parcel data can include attributes of real estate parcels such as, e.g., address, assessor parcel number (APN), tax identification number, as well as information on the owner (or occupier) of the parcel.
- As one example, the real estate parcel data stored in the
data repository 130 can include data records on parcels in several thousand counties in the U.S., accounting for 140 million parcels nationwide. Accordingly, highly specialized computer techniques are necessary to index, organize, and link these hundreds of millions of data records in the databases. - The real
estate parcel services 105 can include modules for parcel acquisition andaggregation 110,parcel verification 115, parcel linking 120, and reporting 125. For convenience herein, the data management operations may be said to be performed on parcels, and this is to be understood as meaning the data management operations are performed on a parcel data (e.g., parcel data records stored in a parcel database) rather than on the physical real estate parcels referenced by the parcel data. - The parcel acquisition and
aggregation module 110 can acquire parcel data from one or more sources (governmental or commercial) and store the aggregated parcel information in the parcel database in thedata repository 130. Scripts may be used to perform data standardization and/or normalization of parcel data from different sources into a common format database or collection of databases. For example, data may be collected from sources (e.g., external) and scripts may be used to convert the data, clean-up/repair data, and track data during the acquisition process. Scripts may perform these functions in an automated manner or may execute with manual assistance from a system user (e.g., through a graphical user interface). - The
verification module 115 can verify the accuracy of the acquired parcel data by comparing to the mapping date and/or the address data. Data verification may be performed before the aggregated parcel data is stored in the parcel database. Various algorithms may be performed for the verification. For example, weights and/or priorities may be applied to the mapping data and addressing data. In some regions the mapping data may be known to be more accurate than in other regions. In regions with higher accuracy data, a higher weight/priority may be applied in the verification process. Higher priority/weight can be used to determine the accuracy of the parcel attributes and what, if any, adjustments and/or additions should be made to the parcel attributes. In some embodiments, a weighted matching algorithm may be applied to the parcel attributes to determine when the parcel data has been verified. For example, the parcel attributes may be compared with the mapping and addressing data, and a match score based on the weights can be determined. If the match score exceeds a certain threshold, then the parcel data may be considered verified. - The
parcel linking module 120 can be configured to link or de-link parcels in a neighborhood of a given parcel. For example, theparcel linking module 120 can implement embodiments of a link process that is further described below. In some embodiments, the link process starts with an input parcel community, which is a group of a plurality of parcels separated by no more than a threshold distance. At least some of the parcels in the community have spatially contiguous property boundaries. The community may be bounded by streets adjacent to the community. Because parcels share boundaries with direct neighbors but typically do not extend across streets, a community may be thought of as analogous to, for example, a city block. The community may be bounded by streets. The link process can generate a number of intermediate actions, including enlarged parcel boundaries and their polygon union, a reduced boundary, parcel and reduced boundary intersection segments, and data structures maintaining links between parcels. A result of the link process is that a given parcel is linked to a reduced set of neighbor parcels. The parcels in the reduced set can be matched to the proper street address for each individual parcel. For example, addresses of the neighbor parcels tend to bracket the given parcel in a street number sense (e.g., a parcel with a lower address number and a parcel with a higher address number than the address of the given parcel). - The
reporting module 125 can provide or output information about the parcels to a system administrator or customer (e.g., a real estate agent or an insurance company). For example, thereporting module 125 may provide information via electronic mail, via a web-based interface (e.g., using suitable application programming interface (API) commands), over thenetwork 135, etc. The reporting module 225 may store the parcel information acquired, updated, or generated by theservices 105 in a data store (e.g., thedata store 130 shown inFIG. 1 or some other data store) where the parcel information can be accessed by appropriate parties. Although thegeocoding engine 100 ofFIG. 1 is shown as comprising several separate modules for providing theparcel services 105, this is for purposes of illustration and is not intended to limit the scope of the geocoding engine. In other implementations, some or all of the functionality of the illustrated modules may be combined, rearranged, or left out. - One or
more computing devices 140 can obtain theservices 105 from thegeocoding engine 100 over anetwork 135. For example, an administrator or manager can use acomputing device 140 to manage the system, or a customer, such as a real estate broker, insurance provider, government agency, etc., can use a computing device to request or access one or more of the real estate services. Thecomputing devices 140 can include general purpose computers, servers, data input devices (e.g., terminals or displays), web interfaces, portable or mobile computers, laptops, or tablets, smart phones, etc. Thenetwork 135 can provide wired or wireless communication between thecomputing devices 140 and theservices 105 provided by theengine 100. In some implementations, the real estateparcel data store 130 can communicate with the services 105 (and/or the computing devices 140) over thenetwork 135. Thenetwork 135 can be configured as a local area network (LAN), a wide area network (WAN), the Internet, an intranet, combinations of the same, or the like. In certain embodiments, thenetwork 135 can be configured to support secure shell (SSH) tunneling or other secure protocol connections for the transfer of data between thegeocoding engine 100, thecomputing devices 140, and/or thedata store 130. - The
geocoding engine 100 and the realestate parcel services 105 can be implemented on computer hardware, such as one or more physical computer servers programmed with specific computer-executable instructions. Thedata store 130 can be implemented on any type of computer storage medium (e.g., non-transitory data storage). Although illustratively shown as a single data store inFIG. 1 , the real estate parcel data can be stored on any number of data stores. - The
geocoding engine 100 may access machine-readable versions of the real estate parcel data (e.g., information stored on the data store 130). For example, the machine-readable version can include an extensible markup language (XML) version of the data fields in a data record. The fields can include numerical, Boolean, or alpha-numeric values. The geocoding engine may use such data, or information based on an analysis of such data that is obtained from public or proprietary data sources (e.g., from CoreLogic, Inc., Irvine, Calif.). - As discussed above, the
parcel linking module 120 of thegeocoding engine 100 can perform a process to link (or de-link) parcels. For example, the link process can maintain potential links between potential address neighbors, while dismissing or removing links between the remaining spatial neighbor parcels. The link process can be used to link a particular parcel to ‘address neighbors’ with the next lower and next higher address number in a spatial sense. - In some embodiments, the link process starts with input parcel “communities,” which are groups of spatially contiguous parcel boundaries separated by no more than a threshold distance. Because parcels share boundaries with direct neighbors but typically do not extend across streets, a community is analogous to a city block.
FIG. 2A schematically illustrates an example of acommunity 200 of parcels, such asparcels - The link process can generate a number of intermediate actions, including enlarged parcel boundaries and their polygon union, a reduced boundary, parcel and reduced boundary intersection segments, and data structures maintaining links between parcels. A result of the link process is that a given parcel is linked to a reduced set of neighbor parcels. The parcels in the reduced set can be matched to the proper street address for each individual parcel. For example, addresses of the neighbor parcels tend to bracket the given parcel in a street number sense (e.g., a parcel with a lower address number and a parcel with a higher address number than the address of the given parcel).
- An example of the parcel link process will now be described. The process can operate on a per community basis and will be described with reference to the
example community 200 of parcels schematically illustrated inFIG. 2A . The link process determines spatial neighboring parcels for each parcel in the community. The process also determines links between centroids of these spatial neighbors.FIG. 2B schematically illustrates links (in bold lines) for the parcels in thecommunity 200. For example, theparcel 205 a haslinks 210 a to its two neighboring parcels, the parcel 205 b has links 210 b to its three neighboring parcels, and the parcel 205 c haslinks 210 c to its four neighboring parcels. Some parcels can have many spatial neighbors. For example, theparcel 205 d has nine neighboring parcels. - The parcel link process can determine a community border for the community of parcels. The community border can be obtained from the union of each parcel boundary in the community, for example, by determining the outward facing borders of the community. Typically, the union of the parcel boundaries includes a border that faces one or more streets, and the community border can reflect the location of these street(s). In some implementations, the parcel link process calculates a path (e.g., a perimeter) that surrounds the community of parcels. The link process may reduce (or shrink) the path so that the path intersects at least a portion of the parcels in the community and the reduced (or shrunken) path may represent the community border.
- Parcel boundary data can include errors or inaccuracies of varying degrees.
FIGS. 3A and 3B schematically illustrate example appearances of a parcel boundary at two different resolutions for the lower right corner of theparcel 205 e in thecommunity 200. InFIG. 3A , theparcel 205 e appears to be connected to spatial neighbors, however, at a higher resolution shown inFIG. 3B , theparcel 205 e is unconnected to its spatial neighbors. Thus, a parcel that appears connected to spatial neighbors may not be connected at all, and the union of the parcel boundaries may have disconnected pieces or wedge shaped interior spikes. - Because certain embodiments of the link process seek to determine the outward, street facing borders for the community border, the link process may, in some implementations, enlarge the parcels to create overlap among neighboring parcels in the community (enlargement may sometimes be referred to as dilation).
FIG. 4A schematically illustrates an example of the enlargement of the parcel boundaries for thecommunity 200 of parcels. For each parcel, the original boundary and the enlarged boundary are illustrated inFIG. 4A . For example, forparcel 205 a, theoriginal boundary 400 a has been enlarged toboundary 400 b so as to overlapneighbor parcels 205 b and 205 f. As can be seen fromFIG. 4A , the enlargement causes each parcel boundary to move outward from the centroid of the parcel to create overlap with neighboring parcels. The amount of enlargement can depend on, for example, a typical distance between centroids of adjacent parcels and may be a fraction (e.g., 1%, 5%, 10%, etc.) of that distance. - After enlargement, the link process may apply a union operation to the parcels in the community (e.g., to find the outward street facing boundary of the community) and a reduction operation (sometimes referred to as an erosion operation) to reduce the enlargement which results in the generation of the community border (e.g., the outward street facing border). The reduction of the parcel boundaries can be by a reduction amount than the enlargement amount, for example, by a factor of twice the enlargement amount. The community border slightly intersects the parcels in the community.
FIG. 4B schematically illustrates in bold an example of thecommunity border 410 for thecommunity 200. The community border can be a polygon, e.g., theexample community border 410 illustrated inFIG. 4B is a four-sided polygon (e.g., a rectangle in this example). - The link process can then determine a group of parcels in the community such that each of the parcels in the group intersects the community border. In the
example community 200 shown inFIG. 4B , all of the parcels in the community intersect thecommunity border 410 so that the group contains all of the community parcels. In other communities, only a subset of the parcels will intersect the community border, with the remaining parcels located interior to (and not intersecting) the community border. In such cases, the group of parcels contains fewer than all the parcels in the community. - For each parcel intersecting the community border, the link process determines a border intersection between the parcel and the community border. The border intersection for a particular parcel is typically a shorter portion of the community border representing the street-facing region (or regions) of the parcel.
FIG. 4C schematically illustrates an example of theborder intersection 410 e of theparcel 205 e with thecommunity border 410. Although theparcel 205 e intersects thecommunity border 410 at one location, more complicated shaped parcels may intersect the community border in multiple locations. - Using the border intersection(s), the link process may perform a spatial operation to filter neighbors of each parcel to generate a reduced set of neighbor parcels that includes only those parcels within a threshold distance from that parcel's border intersection. The threshold distance can depend on a typical distance between parcels in the community, an overall size of the community, etc. For each parcel, the link process can order the neighbor parcels in the reduced set based on distance from the parcel's border intersection and thereby identify the neighbor parcels that likely bracket the parcel in an address number sense (e.g., the next lower address number and the next higher address number). For example, such bracketing neighbor parcel(s) can be identified as the parcel(s) in the reduced set with the smallest distance(s) from the border intersection of the parcel. The bracketing neighbor parcels may include two parcels in the reduced set having the least distance and the next-to-least distance, respectively, from the border intersection, because these two parcels are likely to be the two closest neighbors of the parcel (both in a spatial sense and in an address number sense). In some implementations, directionality of the links to parcels in the reduced set can be used to identify the bracketing neighbors of a given parcel. For example, one bracketing neighbor may be on a first side of the given parcel, and a second bracketing neighbor may be on a second side of the given parcel, with the second side different from the first side (e.g., opposite to the first side). For example, if a first neighbor parcel is on a “right side” or a “north side” of the given parcel, the second neighbor may be on the “left side” or the “south side”, respectively, of the given parcel.
- The link process thereby generates a reduced set of neighbor parcels that are linked to each parcel.
FIG. 5 schematically illustrates an example ofconnections 500 between centroids of the reduced (filtered) set of neighbor parcels for theexample community 200. As can be seen from the example shown inFIG. 5 , each of the parcels is linked to a reduced set of neighbors (in this illustrative example, two neighbors for each parcel). In effect, a parcel is de-linked from other parcels in the community that are not in the reduced set, which advantageously may permit finding the bracketing address neighbors. - For example, for the
parcel 205 e, its twoneighbors parcel 205 e is most likely addressed. The addresses of the twoneighbors parcel 205 e in an address number sense. For example, one of theparcels parcel 205 e, and the other one of theparcels parcel 205 e. Thus the link process has not only reduced the number of potential neighbors for theparcel 205 e from nine (shown inFIG. 2B ) to two (shown inFIG. 5 ) but has also identified the twoparcels parcel 205 e. After the link process is performed, and each parcel is linked to its address neighbors, thegeocoding engine 100 can more readily match or verify the proper address to each parcel. -
FIG. 6 is a flowchart that schematically illustrates an example of alink process 600 for linking real estate parcels. Thelink process 600 can be performed by theparcel linking module 120 of thegeocoding engine 100. Thelink process 600 can include some or all of the actions described with reference to theexample community 200 illustrated inFIGS. 2A-5 . Atblock 610, the link process determines a community border for a community of real estate parcels. Atblock 620, for each of the parcels in the community, the link process may determine links to neighbor parcels (see, e.g.,FIG. 2B ). To avoid difficulties associated with errors or inaccuracies in the parcel boundary data, atblock 630 the link process may enlarge the parcels to create overlap among the parcels (see, e.g.,FIG. 4A ). Atblock 640, the link process can determine the union of the enlarged parcels, and atblock 650, the link process can reduce the enlarged parcels (e.g., by an amount equal to twice the enlargement as discussed with reference toFIGS. 4A and 4B ). The link process can thereby determine the community border, which slightly intersects the parcels in the community. The community border may be the outward facing border toward the street(s) surrounding the community. - Starting at
block 660, the link process works through the parcels in the community to identify a reduces set of parcels that neighbor each parcel (e.g., the address neighbor parcels). Atblock 670, the link process determines a border intersection between the parcel and the community border. Atblock 680, the link process filters the neighbors of the parcel to identify a reduced set of neighbors. For example, the filter can be a spatial filter that includes in the reduced set only those parcels within a threshold distance from the parcel's border intersection. The threshold distance can depend on a typical distance between parcels in the community, an overall size of the community, etc. Atblock 690, the link process can order the neighbor parcels in the reduced set based on distance from the parcel's border intersection and thereby identify the neighbor parcels that likely bracket the parcel in an address number sense (e.g., the next lower address number and the next higher address number relative to the parcel's address number). For example, such bracketing neighbor parcels can be identified as the parcels in the reduced set with the smallest distances from the border intersection of the parcel. Thelink process 600 can link the parcel to at least one neighbor parcel in the reduced set. In many cases, the parcel can be linked to two parcels in the reduced set, which have address numbers that bracket the address number of the parcel. The link process can then return to block 660 to process the next parcel in the community. When all parcels in the community have been analyzed, the link process terminates. - Use of the link process by the
parcel linking module 120 can provide one or more advantages in various implementations of thegeocoding engine 100. For example, by linking parcels with their neighbors in the reduced set, rather than all the neighbors in the community, the parcel information in the parcel database can be more efficiently managed by thegeocoding engine 100. Further, by linking a parcel to its neighbors in the reduced set, thegeocoding engine 100 can more accurately match a parcel with its address number, which provides a more accurate and reliable parcel database for use by real estate professionals, insurance companies, government agencies, and so forth. - Each of the processes, methods, and algorithms described herein and/or depicted in the attached figures may be embodied in, and fully or partially automated by, code modules executed by one or more physical computing systems, hardware computer processors, application-specific circuitry, and/or electronic hardware configured to execute specific and particular computer instructions. For example, computing systems can include general purpose computers (e.g., servers) programmed with specific computer instructions or special purpose computers, special purpose circuitry, and so forth. A code module may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language. In some implementations, particular operations and methods may be performed by circuitry that is specific to a given function.
- Further, certain implementations of the functionality of the present disclosure are sufficiently mathematically, computationally, or technically complex that application-specific hardware or one or more physical computing devices (utilizing appropriate specialized executable instructions) may be necessary to perform the functionality, for example, due to the volume or complexity of the calculations involved or to provide results substantially in real-time. For example, the real estate parcel database can include hundreds of millions of parcel records, and specifically programmed computer hardware is necessary to process the parcel data (e.g., to link spatially neighboring parcels) in a commercially reasonable amount of time.
- Code modules or any type of data may be stored on any type of non-transitory computer-readable medium, such as physical computer storage including hard drives, solid state memory, random access memory (RAM), read only memory (ROM), optical disc, volatile or non-volatile storage, combinations of the same and/or the like. The methods and modules (or data) may also be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). The results of the disclosed processes or process steps may be stored, persistently or otherwise, in any type of non-transitory, tangible computer storage or may be communicated via a computer-readable transmission medium.
- Any processes, blocks, states, steps, or functionalities in flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing code modules, segments, or portions of code which include one or more executable instructions for implementing specific functions (e.g., logical or arithmetical) or steps in the process. The various processes, blocks, states, steps, or functionalities can be combined, rearranged, added to, deleted from, modified, or otherwise changed from the illustrative examples provided herein. In some embodiments, additional or different computing systems or code modules may perform some or all of the functionalities described herein. The methods and processes described herein are also not limited to any particular sequence, and the blocks, steps, or states relating thereto can be performed in other sequences that are appropriate, for example, in serial, in parallel, or in some other manner. Tasks or events may be added to or removed from the disclosed example embodiments. Moreover, the separation of various system components in the implementations described herein is for illustrative purposes and should not be understood as requiring such separation in all implementations. It should be understood that the described program components, methods, and systems can generally be integrated together in a single computer product or packaged into multiple computer products. Many implementation variations are possible.
- The processes, methods, and systems may be implemented in a network (or distributed) computing environment. Network environments include enterprise-wide computer networks, intranets, local area networks (LAN), wide area networks (WAN), personal area networks (PAN), cloud computing networks, crowd-sourced computing networks, the Internet, and the World Wide Web. The network may be a wired or a wireless network or any other type of communication network.
- The systems and methods of the disclosure each have several innovative aspects, no single one of which is solely responsible or required for the desirable attributes disclosed herein. The various features and processes described above may be used independently of one another, or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. Various modifications to the implementations described in this disclosure may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Thus, the claims are not intended to be limited to the implementations shown herein, but are to be accorded the widest scope consistent with this disclosure, the principles and the novel features disclosed herein.
- Certain features that are described in this specification in the context of separate implementations also can be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also can be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination. No single feature or group of features is necessary or indispensable to each and every embodiment.
- Conditional language used herein, such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment. The terms “comprising,” “including,” “having,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list. In addition, the articles “a,” “an,” and “the” as used in this application and the appended claims are to be construed to mean “one or more” or “at least one” unless specified otherwise.
- As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: A, B, or C” is intended to cover: A, B, C, A and B, A and C, B and C, and A, B, and C. Conjunctive language such as the phrase “at least one of X, Y and Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to convey that an item, term, etc. may be at least one of X, Y or Z. Thus, such conjunctive language is not generally intended to imply that certain embodiments require at least one of X, at least one of Y and at least one of Z to each be present.
- Similarly, while operations may be depicted in the drawings in a particular order, it is to be recognized that such operations need not be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Further, the drawings may schematically depict one more example processes in the form of a flowchart. However, other operations that are not depicted can be incorporated in the example methods and processes that are schematically illustrated. For example, one or more additional operations can be performed before, after, simultaneously, or between any of the illustrated operations. Additionally, the operations may be rearranged or reordered in other implementations. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Additionally, other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results.
Claims (21)
1. (canceled)
2. A method comprising:
under control of a geocoding engine comprising computer hardware:
identifying a community of parcels, at least some of the plurality of parcels having spatially contiguous boundaries;
enlarging at least some of the parcel boundaries of the parcels in the community to form a community border for the community of parcels;
identifying a location at which at least a portion of a first parcel in the community of parcels intersects the community border;
identifying a neighboring parcel in the community of parcels that is within a threshold distance of the location;
identifying address information of the neighboring parcel; and
in response to identifying that the neighboring parcel is within the threshold distance of the location, determining address information of the first parcel based on the identified address information of the neighboring parcel.
3. The method of claim 2 , wherein each parcel in the community of parcels is represented graphically by a polygon.
4. The method of claim 2 , further comprising identifying a second neighboring parcel in the community of parcels that is within the threshold distance of the location.
5. The method of claim 4 , further comprising ordering the neighboring parcel and the second neighboring parcel based on a distance of the neighboring parcel from the location and a distance of the second neighboring parcel from the location.
6. The method of claim 5 , wherein the neighboring parcel is located the least distance from the location.
7. The method of claim 6 , wherein the second neighboring parcel is located the next-to-least distance from the location.
8. The method of claim 7 , wherein determining address information of the first parcel comprises:
determining the address information of the neighboring parcel;
determining address information of the second neighboring parcel; and
determining a number that falls between numbers indicated by the address information of the neighboring parcel and the address information of the second neighboring parcel.
9. A system comprising:
non-transitory data storage configured to store parcel data for each of a plurality of parcels; and
a computer system comprising computer hardware, the computer system in communication with the non-transitory data storage, the computer system programmed with executable instructions to at least:
identify a community of parcels, at least some of the plurality of parcels having spatially contiguous boundaries;
enlarge at least some of the parcel boundaries of the parcels in the community to form a community border for the community of parcels;
identify a location at which at least a portion of a first parcel in the community of parcels intersects the community border:
identify a neighboring parcel that is within a threshold distance of the location;
identify address information of the neighboring parcel; and
in response to identifying that the neighboring parcel is within the threshold distance of the location, determine address information of the first parcel based on the identified address information of the neighboring parcel.
10. The system of claim 9 , wherein each parcel in the community of parcels is represented graphically by a polygon.
11. The system of claim 9 , wherein the computer system is further programmed with executable instructions to at least identify a second neighboring parcel in the community of parcels that is within the threshold distance of the location.
12. The system of claim 11 , wherein the computer system is further programmed with executable instructions to at least order the neighboring parcel and the second neighboring parcel based on a distance of the neighboring parcel from the location and a distance of the second neighboring parcel from the location.
13. The system of claim 12 , wherein the neighboring parcel is located the least distance from the location.
14. The system of claim 13 , wherein the second neighboring parcel is located the next-to-least distance from the location.
15. The system of claim 14 , wherein the computer system is further programmed with executable instructions to at least:
determine the address information of the neighboring parcel;
determine address information of the second neighboring parcel; and
determine a number that falls between numbers indicated by the address information of the neighboring parcel and the address information of the second neighboring parcel.
16. Non-transitory computer storage comprising computer-executable instructions that, when executed by a computer, cause the computer to:
identify a community of parcels, at least some of the plurality of parcels having spatially contiguous boundaries;
enlarge at least some of the parcel boundaries of the parcels in the community to form a community border associated with the community of parcels;
identify a location at which at least a portion a first parcel in the community of parcels intersects the community border;
identify a neighboring parcel that is within a threshold distance of the location;
in response to identifying that the neighboring parcel is within the threshold distance of the location, determine address information of the first parcel based on address information of the neighboring parcel.
17. The non-transitory computer storage of claim 16 , wherein the computer-executable instructions further cause the computer to identify a second neighboring parcel in the community of parcels that is within the threshold distance of the location.
18. The non-transitory computer storage of claim 17 , wherein the computer-executable instructions further cause the computer to order the neighboring parcel and the second neighboring parcel based on a distance of the neighboring parcel from the location and a distance of the second neighboring parcel from the location.
19. The non-transitory computer storage of claim 18 , wherein the computer-executable instructions further cause the computer to:
determine the address information of the neighboring parcel;
determine address information of the second neighboring parcel; and
determine a number that falls between numbers indicated by the address information of the neighboring parcel and the address information of the second neighboring parcel.
20. The non-transitory computer storage of claim 16 , wherein the computer-executable instructions further cause the computer to apply a union operation to the at least some of the parcel boundaries of the parcels in the community.
21. The non-transitory computer storage of claim 16 , wherein the computer-executable instructions further cause the computer to add a missing address number to a data record corresponding to the first real estate parcel based on the address information of the neighboring parcel.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/372,313 US20220067117A1 (en) | 2014-05-16 | 2021-07-09 | System and method for linking data records for parcels |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461994363P | 2014-05-16 | 2014-05-16 | |
US14/713,663 US10248731B1 (en) | 2014-05-16 | 2015-05-15 | System and method for linking data records for parcels |
US16/370,686 US11061985B2 (en) | 2014-05-16 | 2019-03-29 | System and method for linking data records for parcels |
US17/372,313 US20220067117A1 (en) | 2014-05-16 | 2021-07-09 | System and method for linking data records for parcels |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/370,686 Continuation US11061985B2 (en) | 2014-05-16 | 2019-03-29 | System and method for linking data records for parcels |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220067117A1 true US20220067117A1 (en) | 2022-03-03 |
Family
ID=65898493
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/713,663 Active 2037-03-25 US10248731B1 (en) | 2014-05-16 | 2015-05-15 | System and method for linking data records for parcels |
US16/370,686 Active 2035-10-02 US11061985B2 (en) | 2014-05-16 | 2019-03-29 | System and method for linking data records for parcels |
US17/372,313 Pending US20220067117A1 (en) | 2014-05-16 | 2021-07-09 | System and method for linking data records for parcels |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/713,663 Active 2037-03-25 US10248731B1 (en) | 2014-05-16 | 2015-05-15 | System and method for linking data records for parcels |
US16/370,686 Active 2035-10-02 US11061985B2 (en) | 2014-05-16 | 2019-03-29 | System and method for linking data records for parcels |
Country Status (1)
Country | Link |
---|---|
US (3) | US10248731B1 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10248731B1 (en) * | 2014-05-16 | 2019-04-02 | Corelogic Solutions, Llc | System and method for linking data records for parcels |
US20190228352A1 (en) | 2018-01-19 | 2019-07-25 | Walmart Apollo, Llc | Systems and methods for combinatorial resource optimization |
US11615368B2 (en) * | 2018-11-01 | 2023-03-28 | Walmart Apollo, Llc | Systems and methods for determining delivery time and route assignments |
US11704758B2 (en) * | 2020-09-03 | 2023-07-18 | Michael Baker International, Inc. | System, method, and computer program product for siting a land parcel |
US11094135B1 (en) | 2021-03-05 | 2021-08-17 | Flyreel, Inc. | Automated measurement of interior spaces through guided modeling of dimensions |
CN113157158A (en) * | 2021-04-15 | 2021-07-23 | 浪潮卓数大数据产业发展有限公司 | Community global analysis large-screen interaction method and system |
WO2023283231A1 (en) | 2021-07-06 | 2023-01-12 | Cape Analytics, Inc. | System and method for property condition analysis |
US11861880B2 (en) | 2021-10-19 | 2024-01-02 | Cape Analytics, Inc. | System and method for property typicality determination |
US20230230250A1 (en) | 2022-01-19 | 2023-07-20 | Cape Analytics, Inc. | System and method for property detection and analysis |
US11935276B2 (en) | 2022-01-24 | 2024-03-19 | Cape Analytics, Inc. | System and method for subjective property parameter determination |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030037059A1 (en) * | 2001-08-14 | 2003-02-20 | Xiangheng Yang | Method for determining the intersection of polygons used to represent geographic features |
US20060041375A1 (en) * | 2004-08-19 | 2006-02-23 | Geographic Data Technology, Inc. | Automated georeferencing of digitized map images |
US20070296630A1 (en) * | 2006-06-23 | 2007-12-27 | Mapinfo Corporation | Enhanced positional accuracy in geocoding by dynamic interpolation |
US20080140311A1 (en) * | 2006-12-12 | 2008-06-12 | Group 1 Software Incorporated | Reverse geocoding system using combined street segment and point datasets |
US20090132469A1 (en) * | 2007-11-16 | 2009-05-21 | Urban Mapping, Inc. | Geocoding based on neighborhoods and other uniquely defined informal spaces or geographical regions |
US20090177678A1 (en) * | 2008-01-08 | 2009-07-09 | Tele Atlas North America, Inc. | Locating Linear Reference System Events in a Geographic Information System |
US20130262530A1 (en) * | 2012-03-28 | 2013-10-03 | The Travelers Indemnity Company | Systems and methods for certified location data collection, management, and utilization |
US20160148418A1 (en) * | 2013-07-23 | 2016-05-26 | National Ict Australia Limited | Geo-located activity visualisation, editing and sharing |
US10248731B1 (en) * | 2014-05-16 | 2019-04-02 | Corelogic Solutions, Llc | System and method for linking data records for parcels |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5968109A (en) * | 1996-10-25 | 1999-10-19 | Navigation Technologies Corporation | System and method for use and storage of geographic data on physical media |
US7197500B1 (en) * | 1996-10-25 | 2007-03-27 | Navteq North America, Llc | System and method for use and storage of geographic data on physical media |
US6081803A (en) * | 1998-02-06 | 2000-06-27 | Navigation Technologies Corporation | Support for alternative names in a geographic database used with a navigation program and methods for use and formation thereof |
US6038559A (en) * | 1998-03-16 | 2000-03-14 | Navigation Technologies Corporation | Segment aggregation in a geographic database and methods for use thereof in a navigation application |
US6829690B1 (en) | 2000-05-23 | 2004-12-07 | Navteq North America, Llc | Method and system for accessing spatially organized geographic data in blocks |
US7822691B1 (en) | 2001-12-28 | 2010-10-26 | Fannie Mae | Method for determining house prices indices |
US7092957B2 (en) * | 2002-01-18 | 2006-08-15 | Boundary Solutions Incorporated | Computerized national online parcel-level map data portal |
US7590582B2 (en) | 2002-01-25 | 2009-09-15 | Bdellium Inc. | Method for analyzing investments using overlapping periods |
US7324666B2 (en) * | 2002-11-15 | 2008-01-29 | Whitegold Solutions, Inc. | Methods for assigning geocodes to street addressable entities |
AU2003902979A0 (en) | 2003-06-12 | 2003-06-26 | Residex Pty Limited | Shared appreciation mortgage |
US8207964B1 (en) * | 2008-02-22 | 2012-06-26 | Meadow William D | Methods and apparatus for generating three-dimensional image data models |
US20070078665A1 (en) * | 2005-08-23 | 2007-04-05 | Luca Technologies, Llc | Microbial estates for the efficient development and management of biogenic fuel resources |
US8538918B1 (en) | 2006-12-05 | 2013-09-17 | Corelogic Solutions, Llc | Systems and methods for tracking parcel data acquisition |
US20090018975A1 (en) | 2007-07-10 | 2009-01-15 | Massachusetts Institute Of Technology | Method for establishing a commercial real estate price change index supporting tradable derivatives |
US20090171980A1 (en) * | 2007-12-24 | 2009-07-02 | Meadow William D | Methods and apparatus for real estate image capture |
US20090198681A1 (en) * | 2008-02-01 | 2009-08-06 | Xsite Validation, Llc | Real property evaluation and scoring method and system |
US10074145B2 (en) * | 2009-08-31 | 2018-09-11 | Leigh Budlong | Methods for the transformation of complex zoning codes and regulations to produce usable search |
US8468167B2 (en) * | 2010-10-25 | 2013-06-18 | Corelogic, Inc. | Automatic data validation and correction |
US20120197685A1 (en) * | 2011-01-25 | 2012-08-02 | Adam Mays | Geographical information system and method for accessing and displaying affordability data |
US9639757B2 (en) * | 2011-09-23 | 2017-05-02 | Corelogic Solutions, Llc | Building footprint extraction apparatus, method and computer program product |
US9298740B2 (en) * | 2013-09-25 | 2016-03-29 | Corelogic Solutions, Llc | System and method for enhancing the normalization of parcel data |
US9396210B1 (en) * | 2015-03-12 | 2016-07-19 | Verve Wireless, Inc. | Systems, methods, and apparatus for reverse geocoding |
-
2015
- 2015-05-15 US US14/713,663 patent/US10248731B1/en active Active
-
2019
- 2019-03-29 US US16/370,686 patent/US11061985B2/en active Active
-
2021
- 2021-07-09 US US17/372,313 patent/US20220067117A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030037059A1 (en) * | 2001-08-14 | 2003-02-20 | Xiangheng Yang | Method for determining the intersection of polygons used to represent geographic features |
US20060041375A1 (en) * | 2004-08-19 | 2006-02-23 | Geographic Data Technology, Inc. | Automated georeferencing of digitized map images |
US20070296630A1 (en) * | 2006-06-23 | 2007-12-27 | Mapinfo Corporation | Enhanced positional accuracy in geocoding by dynamic interpolation |
US20080140311A1 (en) * | 2006-12-12 | 2008-06-12 | Group 1 Software Incorporated | Reverse geocoding system using combined street segment and point datasets |
US20090132469A1 (en) * | 2007-11-16 | 2009-05-21 | Urban Mapping, Inc. | Geocoding based on neighborhoods and other uniquely defined informal spaces or geographical regions |
US20090177678A1 (en) * | 2008-01-08 | 2009-07-09 | Tele Atlas North America, Inc. | Locating Linear Reference System Events in a Geographic Information System |
US20130262530A1 (en) * | 2012-03-28 | 2013-10-03 | The Travelers Indemnity Company | Systems and methods for certified location data collection, management, and utilization |
US20160148418A1 (en) * | 2013-07-23 | 2016-05-26 | National Ict Australia Limited | Geo-located activity visualisation, editing and sharing |
US10248731B1 (en) * | 2014-05-16 | 2019-04-02 | Corelogic Solutions, Llc | System and method for linking data records for parcels |
US11061985B2 (en) * | 2014-05-16 | 2021-07-13 | Corelogic Solutions, Llc | System and method for linking data records for parcels |
Non-Patent Citations (3)
Title |
---|
ESRI, "An overview of commonly used tools", June 27, 2006 , ArcGIS, pp. 1-7. (Year: 2006) * |
ESRI, "Common polygon editing tasks", May 14, 2009, ArcGIS, pp. 1-8. (Year: 2009) * |
ESRI, "Union (Analysis)", January 13, 2009, ArcGIS, pp. 1-4. (Year: 2009) * |
Also Published As
Publication number | Publication date |
---|---|
US10248731B1 (en) | 2019-04-02 |
US11061985B2 (en) | 2021-07-13 |
US20190294647A1 (en) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220067117A1 (en) | System and method for linking data records for parcels | |
CN101257421B (en) | Real time automatic update system and method for disaster damage investigation | |
Ruiz et al. | Digital map conflation: a review of the process and a proposal for classification | |
US9558211B1 (en) | Incremental schema consistency validation on geographic features | |
US7536025B2 (en) | Process, system, or method for the determination of the percentage of area of a parcel of land available for development or preservation and the production of a report and map therefor on a fixed tangible medium | |
US20060041375A1 (en) | Automated georeferencing of digitized map images | |
US11403721B2 (en) | Data mining data records to determine networks and boundaries | |
US11226995B2 (en) | Generating business intelligence geospatial elements | |
US8949196B2 (en) | Systems and methods for matching similar geographic objects | |
CN111161086A (en) | Method, system, computer equipment and storage medium for inquiring business data | |
CN107247791B (en) | Parking lot map data generation method and device and machine-readable storage medium | |
Zandbergen et al. | Positional accuracy of TIGER 2000 and 2009 road networks | |
CN102779165A (en) | Building method of grid map picture base | |
CN109684425A (en) | Declaration form station address matching process and device | |
US9959268B2 (en) | Semantic modeling of geographic information in business intelligence | |
KR102184048B1 (en) | System and method for checking of information about estate development plan based on geographic information system | |
Lei | Geospatial data conflation: A formal approach based on optimization and relational databases | |
US20110134118A1 (en) | Apparatus and method for creating textures of building | |
Lu et al. | Online spatial data analysis and visualization system | |
Schäfers et al. | SimMatching: adaptable road network matching for efficient and scalable spatial data integration | |
Siejka et al. | Verification technology for topological errors in official databases with case study in Poland | |
CN112445880A (en) | Method and device for automatically gridding enterprise data in geographic space and related equipment | |
US20210279825A1 (en) | System and method for revenue and asset management based on micro-service architecture | |
US8687018B1 (en) | Collection and confirmation of place metadata and graphic representations of fixed objects displayed in a mapping system | |
CN115482152A (en) | Grid map import design software method and device and computer equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |