Unique symbols for hundreds of point features

8241
7
Jump to solution
11-25-2015 07:55 AM
BenBradley
New Contributor

I'm making a map showing the locations of about 500 earthquakes using ArcMap 10.3. I'd like to display each earthquake with a unique "beachball" symbol. The map should look something like the attached image, except with hundreds of beachballs, one for each earthquake. I have unique .PNG files for each of the beachball symbols. I could do this manually by assigning each feature in ArcMap to a single PNG file, but with 500 entries that would be atrocious and I might have to do it over again later if I add additional earthquake points to my shapefile.

So is there a way to make ArcMap "automatically" search for unique PNG files to symbolize each point using something like a look-up table? Each PNG file containing a beachball earthquake symbol has a unique file name that corresponds to the ID number in the shapefile attribute table that I'd like to link to.

CMTQuakes.gif

0 Kudos
1 Solution

Accepted Solutions
PascualBenito
New Contributor III

So, this would be a totally different approach, but I have used the following plugin from the US Geological Survey to make beach ball diagrams in ArcScene (you would need to have 3D Analyst extension for this):

3D Visualization of Earthquake Focal Mechanisms Using ArcScene(r)

To make 2D maps, I exported top-down map view of my 3D scene with the beach balls as a high resolution raster and then brought the raster into ArcMap and georeferenced it (I had some control points for georef). Additionally, to make transparency for the areas of raster that were supposed to be empty, I actually used a green background so that I could set all green channel to transparency (kind of like green screen used for movie special effects).

There was also an older 2D VB script discussed previously that you could tinker with: ArcObjects VB Code for drawing 2D Earthquake Focal Mechanisms in ArcMap

And some other alternatives are discussed in this post:

qgis - focal mechanism(beach balls) for many Earthquakes - Geographic Information Systems Stack Exch...

There is an example python script for creating Google Earth KML file with the beach balls, which you could then import into ArcMap (this almost seems like would be most elegant approach)

..some ideas....

View solution in original post

7 Replies
JoeBorgione
MVP Emeritus

You might consider creating your own symbol style for the point, and then size it according to some value in your data (seems like Richter Scale or MMS would be applicable here).

Check this out:

symbology - How to I create and Import marker symbols (or 'Style References') in ArcMap 10? - Geogra...

That should just about do it....
0 Kudos
BenBradley
New Contributor

Thanks for the link. Sizing the points differently is no problem. But instead, I need a completely different PNG symbol to represent each point. Do you know of a way to bring in a unique PNG symbol for EACH of the ~500 points?

0 Kudos
DavidBarnes
Occasional Contributor III

I'm not sure what the point of such symbology is, but to achieve what you're asking one possibility is to give each symbol a unique name in the style and have a matching unique value for each feature, then use the option to match symbols to a style.

BenBradley
New Contributor

This is getting closer to the solution, and this tutorial was helpful: Match features with symbols in a style

But the problem remains that I'd have to create and rename 500 marker styles and then define every single marker symbol (up to 500 points) within my style to correspond to the right PNG picture file. And then any time that I regenerate my attribute table with more earthquakes, the whole list could get out of sync, matching the wrong beachball symbol with the wrong earthquake.

To answer your question, the point of this symbology is to quickly see the style of each individual earthquake in an area. This is a commonly used technique in geology and geophysics because it instantly tells the viewer the faulting regime (i.e. strike-slip or thrust faulting), it hints at the orientation and relative magnitudes of the forces that caused the earthquake, it gives some indication of the nature of surface shaking that resulted from that earthquake, and it gives 2 possible orientations for the fault that slipped to create the earthquake. These are very powerful visual tools and it's relatively easy to map them in MATLAB, but apparently a lot more difficult to map in Arc. I'd much rather create a map in Arc than in MATLAB because Arc typically produces much cleaner maps in a less cumbersome way.

0 Kudos
PascualBenito
New Contributor III

So, this would be a totally different approach, but I have used the following plugin from the US Geological Survey to make beach ball diagrams in ArcScene (you would need to have 3D Analyst extension for this):

3D Visualization of Earthquake Focal Mechanisms Using ArcScene(r)

To make 2D maps, I exported top-down map view of my 3D scene with the beach balls as a high resolution raster and then brought the raster into ArcMap and georeferenced it (I had some control points for georef). Additionally, to make transparency for the areas of raster that were supposed to be empty, I actually used a green background so that I could set all green channel to transparency (kind of like green screen used for movie special effects).

There was also an older 2D VB script discussed previously that you could tinker with: ArcObjects VB Code for drawing 2D Earthquake Focal Mechanisms in ArcMap

And some other alternatives are discussed in this post:

qgis - focal mechanism(beach balls) for many Earthquakes - Geographic Information Systems Stack Exch...

There is an example python script for creating Google Earth KML file with the beach balls, which you could then import into ArcMap (this almost seems like would be most elegant approach)

..some ideas....

BenBradley
New Contributor

Brilliant!! Thank you. I think this should do it. The USGS saves the day again.

0 Kudos
PascualBenito
New Contributor III

Your welcome, only caveat with the USGS ArcScene approach is that I have not used with ArcMap 10.x, only with 9.x several years ago, so I don't know if there could be any compatibility issues with newer versions. This may be why the python/kml file approach may be better solution.   (though being able to view the hypocenter beachballs in 3D in ArcScene is pretty cool....We used the 3D tool to image the dip of a portion of the San Andreas Fault).

0 Kudos