Import Multiple Images to Specific Coordinates

Can multiple geo-located images be inserted into Revit or Civil 3D using Dynamo?

Civil3D can import multiple georeferenced images by default

Revit is not georeference-enabled like other applications (such as Civil3D, or GIS).
However, you can get close using shared coordinates

Without getting too complicated, and depending on the size of your site, issues like projection (accounting for the ellipsoid shape of the earth) come in to play.

I did something a while ago using Dynamo to extract a grid of georeferenced images from a WMS (GIS) server.
I can’t remember the details- but I think I got as far as creating a numbered grid of squares in Revit using Dynamo, then manually dropping the images into the right spot.

My Dynamo graph no longer works due to deprecated nodes- but the end result was like this:


and these video give an idea of how it was done:

1 Like

Andrew,

Many thanks.

Having used Revit for 12 years, l certainly know about its coordinate ‘system’.

I have 2 projects, 1 with 1,000+ images to locate and the other with 3,000+ images to locate, therefore if there were a solution, whether it be in Civil 3D or Revit, then it would require to be automated.

Any further thoughts, much welcomed.

I shall look further into Civil 3D.

@Gcf_Design

Have a look at the GIS2BIM package.

That has great potential, although slow with 000’s of images.

The GIS2BIM.ImportImageInView node requires an image path for each image. I have this within Excel and have pushed such values into the node, yet it returns as ‘Empty List’.

If l do a single image (which is slow), then it does work.

Any thoughts on how this multiple file path problem could be resolved?

@Gcf_Design

there are a myriad of georeferenced image types, but generally they are in 2 categories:

  • extent/coordinate system/projection embedded in the image

  • extent/coordinate system/projection in a text file which accompanies the image

For example, the following image might be accompanied by a file like as below
What do you have ?

It is probably a task for an application like C3D or GIS, although you might be able to do something in Dynamo using the coordinates from these text files

 23.30080115599339763
    0 
    0 
    -23.30080115599339763
    16608120.72410204447805882
    -4165032.79104982549324632

This is the script thus far, but fails at the final hurdle, not sure why?

A single file is fine, but of no use for this exercise.

It works for me (but, yes, it is slow)
Check your lacing- shortest will stop when the shortest input runs dry

Incidentally, I did notice a problem with the image scaling- comes in at 101.6m rather than 100m

If you have thousands of images, it may be easier to glue them together first- I’d recommend QGIS for this

1 Like

I did get it to work, but had to lace the final node, like you did. I found that out myself.

Unfortunately, due to the nature of the images being of altering rotations, due to the capture from the drone, then this approach ultimately fails, however, at least a new workflow has been created and known.

Many thanks.

I updated GIS2BIM to version 0.8.3. The import Image in View node is now pure Python and very very fast compared to the previous version.

Hopefully this will help.

1 Like

Hi Maarten,

I came across this post and it seems quite relevant to the post I made recently.

Would you agree that potentially I could be looking into using GIS2BIM nodes in an effort to solve my problem?

Thanks!

1 Like