Question

Advanced String Compare Between two point ESRI featureclasses based on a spatial Buffer

  • 13 February 2017
  • 1 reply
  • 1 view

Hellow everyone,

 

 

I am new to FME And I want to know if this idea is applicable using FME desktop, will appreciate your help.

 

 

let me give example:

 

 

I got 2 ESRI FC: - 1st FC contains all the schools of Africa. (more than100'000 Feature)

ID Name

 

1 School abc

2 School the mobul

3 mobto

- 2nd FC contains all the Governmental schools of Africa. (around 30000 Feature)

ID Name

1 School mobol

2 School mobtu

3 School Komo

 

I want to match data from FC1 With data from FC2 based on the name and the location.

 

The problem is the location is not very accurate and the names do not have the same spelling.

 

 

So here is what I am trying to do:

 

 

1- use FC2 as a source to create a buffer in the range of 1Km.

2-select the points from FC1 within the buffer distance and compare each one of them with the source point for the buffer from FC2.

 

3-The comparing process must be based on the Pattern and sequence of the characters in every cell.

 

 

EX: using the above tables we should expect matched table like this one.

 

 

 

ID Name Matching Name

1 School mobol School the mobul

2 School mobtu School mobto

3 School Komo NULL

 

 

 

My Question is:

 

 

Is this applicable using FME?

 

 

What is the transformer -or group of transformers- to apply step 3.

 

 

I would really appreciate your help :)

 

 

Thanks,

1 reply

Badge +16

Hi @ahmedamohamed,

This very applicable to do with FME.

My take on it would be to use the NeighborFinder transformer for steps 1&2. Make sure you specify a list name in the Close Candidate List Name parameter.

This will result in all your base features (FC2) having a list with the candidate (FC1) attributes.

To use the list elements in step 3 you can use the list exploder

For step 3 I would used the FuzzyStringComparer.

However this transformer is limited to 2 strings at a time, you can have a look at how this transformer is working by editing it and adapt it to your needs to compare more that 2 strings at a time.

A good source of information about transformers and how to use them is the help and the knowledge base

I hope this helps.

Reply