picking up new features from updated data

455
5
Jump to solution
01-25-2021 01:27 PM
Labels (3)
JamesWenyon
New Contributor III

hello everybody!

 

I am working with two different sets of parcel data and I am trying to identify a method or a tool to show any new information that was not in the old data set.

EXAMPLE: I have a parcel data from 2 years ago, and the same exact data but from 2021. the old data has one big parcel. and the new data has 30 new parcels because of platting and subdividing.

The attached picture should aid in visualizing the issue I have. Red is the new data and blue is the older data.

 Is anyone aware of any kind of tool I can run or method I can use to find out what data has been updated from the two different data sources. I know i can run a visual test to see the differences but Im looking for a different way to identify if the parcels are split up or have become aggregated. Thanks!

 

 

0 Kudos
1 Solution

Accepted Solutions
jcarlson
MVP Frequent Contributor

The big thing with a comparison like this is just filtering out all the non-changed features, and possibly features which are slightly modified from a boundary adjustment, but are essentially unchanged.

Could you elaborate on what format the data is in? If it's in an Enterprise Geodatabase, or possibly a Geopackage / Spatialite Database, there are functions like ST_HausdorffDistance that do a very nice job of filtering out nearly-but-not-exactly-the-same features, which you could use in a Query Layer.

Another question: if the datasets come from the same source, is there a chance they share an ObjectID column? That would make it very nice and easy.

Barring either of those two, you might just resort to something like:

  1. New layer to centroids
  2. Spatial join centroids to old layer, include a "Count" aggregation attribute
  3. Filter spatially joined parcels for count_field != 1

That'd give you parcels which have either been split out into multiple other parcels, or possible removed due to right-of-way dedication or something. It's not perfect, but would be a start.

Lastly, if you're comfortable with python a lot of this could also be done using the Pandas, GeoPandas, and ArcGIS modules. I could probably elaborate more on some of this depending on your situation, your data, and what you want to do.

- Josh Carlson
Kendall County GIS

View solution in original post

5 Replies
DanPatterson
MVP Esteemed Contributor

Intersect , Update or Union in the Analysis toolbox, depending on what you want the combined geometry to be and how you want to treat the attributes


... sort of retired...
jcarlson
MVP Frequent Contributor

The big thing with a comparison like this is just filtering out all the non-changed features, and possibly features which are slightly modified from a boundary adjustment, but are essentially unchanged.

Could you elaborate on what format the data is in? If it's in an Enterprise Geodatabase, or possibly a Geopackage / Spatialite Database, there are functions like ST_HausdorffDistance that do a very nice job of filtering out nearly-but-not-exactly-the-same features, which you could use in a Query Layer.

Another question: if the datasets come from the same source, is there a chance they share an ObjectID column? That would make it very nice and easy.

Barring either of those two, you might just resort to something like:

  1. New layer to centroids
  2. Spatial join centroids to old layer, include a "Count" aggregation attribute
  3. Filter spatially joined parcels for count_field != 1

That'd give you parcels which have either been split out into multiple other parcels, or possible removed due to right-of-way dedication or something. It's not perfect, but would be a start.

Lastly, if you're comfortable with python a lot of this could also be done using the Pandas, GeoPandas, and ArcGIS modules. I could probably elaborate more on some of this depending on your situation, your data, and what you want to do.

- Josh Carlson
Kendall County GIS
JamesWenyon
New Contributor III

So the parcel data I have, the older source is a geopackage which I got from a consultant and the new parcel data I have is a file geodatabase from the local property appraiser. In this case the two data types wouldn't share an objectID but that would help me in the future when pulling new data from a property appraiser. I am not too fluent in python yet. but my end goal is to have a data base that I can update weekly and run a report to show my boss what the changes in the data are like newly created/aggregated parcels. Thanks Josh!

0 Kudos
jcarlson
MVP Frequent Contributor

Will you eventually manage the data yourself, or still be working with datasets from others?

If you have the option of creating a feature class with editor tracking enabled, you can easily filter items by timestamp to show the latest changes. You could even drop the layer into a Dashboard, with the parcels being filtered to items updated / created within the last week, so that you have a perpetually up-to-date "report" dashboard.

Additionally, published feature services with tracking enabled support the extract changes command, which can give you a layer-by-layer summary of all the adds, updates, and deletes from a given timestamp forwards.

- Josh Carlson
Kendall County GIS
JamesWenyon
New Contributor III

so sorry for the delayed response.

I will be managing the data myself for the time being.

Thanks so much for your help!!!

0 Kudos