I have a large utility system in AutoCAD dwg format. I need to convert it into ArcGIS shp or gdb format. It consists of structures and pipes all with associated text (mtext & multileader objects) all containing several parameters that will need to each broken out into it's own attribute field (eg: one attribute field for material, one for size, one for top invert, etc etc, see link for example)

Is there any set of FME/AGDI transformers or combination of that can automate or partially automate this process by reading from the text and converting it to multiple GIS attributes? I've found some transformers that can read & hack up the text, but I've found nothing that looks like it can associate the text with its respective features. There are over ten thousand features that need attribution and my aim is to avoid having to look individually at each feature to populate its fields. I have AutoCAD Map3d, ArcGIS and it's Data Interoperability extension at my disposal and can get the full FME program if needed.

  • Your question really isn't clear. Your question seems to be asked and answered in the 2nd paragraph of your question. Are you instead asking what sort of code or scripting would be required to accomplish your given task? Have you tried anything yet? Data Interop and FME are both pretty powerful tools, so you can likely come up with something using either or both of them. Otherwise, perhaps trying something with those tools, then coming back for solutions to problems encountered along the way, will be more effective. Mar 22, 2017 at 20:20
  • I've been searching all day trying to figure out what transformers to use, I've found some for hacking up the text but what I've failed to figure out so far is what or how I can associate the text to their respective features. If I have to go in to each of the ten thousand plus features and tell it what text to use it'll be almost as slow as doing the entire thing manually.
    – Alpheus
    Mar 22, 2017 at 20:41
  • CAD labels are separated entity. When dealing with them I found only 1 solution. Export to database annotations, convert to points, use spatial adjustment to transfer text attributes from them to relevant features. Unfortunately one by one, unless you want to try spatial join. This is rarely works, because CAD operators place annotations where they want, no rules
    – FelixIP
    Mar 22, 2017 at 21:59
  • After that, if text format is consistent, few lines in field calculator will split it into different fields.
    – FelixIP
    Mar 22, 2017 at 22:01
  • For the structure labels there is a leader leading form the center of the structure to the label, which gets turned into a set of two lines by FME. The leader always connects to the text block with the same location & spacing. I'm going to see if I can use the SpatialRelator & NeighborFinder transformers to daisy chain something together. Any other transformers that may be useful for this?
    – Alpheus
    Mar 23, 2017 at 19:18

1 Answer 1


It seems that you would benefit from the NeighborFinder transformer in FME. That will find the closest candidate feature to a base. So, for example, it will find the closest text entity to a line entity.

There's an example of this in the FME Desktop Basic Training course. It tries to find the nearest piece of numeric text to contour line, to apply as the contour elevation.

Another example on the Safe knowledgebase finds the nearest cell tower to a residential address.

Of course, as @FelixIP mentioned in a comment above, we're assuming that the text closest to a line is really the one that applies, when in reality the creator of the data could have placed them anywhere! Still, it gets you off to a good start.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.