1

I am trying to geotag some pictures in ArcGIS 10.5. I have pictures contain coordinates and want to place pictures on the final layout of the map. I have tried two methods but did not get the desired results.

  1. I used Geosetter tool to convert pictures in KML format, after that I imported the KML file in arcmap and I got below result. But here picture size is too small to get any info from it. I just need the same output with the large size of pictures.

enter image description here

  1. Secondly I used Geotagged photos to point tool of ArcMap. In this case I can't display pictures in layout view.

enter image description here

How can I display the pictures on final exported map as shown in first figure but with larger size?

1

I modified an ESRI HTML Popup style to do this (they come with the software install). It's been a while, but I believe the only major changes that matter are the table width and image source size. To use a custom style, select the code box option on the HTML Properties tab of your layer properties, then copy the XSL into the code box. (Save the XSL, as it will disappear from your layer if the code box option gets unchecked.)

I used to be able to do all sort of things with custom XSL and pop-ups but I no longer need to do so. As far as showing pop-ups in Layout view, you cannot. The HTML Popup tools seems to be based on the Identify tool; usually you don't want Identify results on maps. We have used screenshots, but this is a lousy workaround if you have a lot of maps to make.

<xsl:template match="Attachments">
    <xsl:variable name="imageCount" select="count(Attachment/ContentType[contains(., 'image')])"/>
    <xsl:variable name="attachmentCount" select="count(Attachment)"/>
    <tr bgcolor="{$headerRowColor}">
        <td>
            <table style="font-family:Arial,Verdana,Times;font-size:12px;text-align:left;width:100%;border-spacing:0px; padding:3px 3px 3px 3px">
                <xsl:variable name="imageSrc" select="Attachment/ContentType[contains(., 'image')]/../FilePath"/>
                <xsl:if test="$imageSrc">
                    <tr align="center">
                        <td>
                            <a target="_blank" href="{$imageSrc}">
                                <img src="{$imageSrc}" width="710px" border="0"/>
                            </a>
                        </td>
                    </tr>
                    <tr align="center">
                        <td>
                            <xsl:value-of select="Attachment/ContentType[contains(., 'image')]/../Name" />
                        </td>
                    </tr>
                </xsl:if>
                <xsl:if test="($attachmentCount &gt; $imageCount) or not($imageCount = 1)">
                    <tr align="center">
                        <td>
                            <table style="font-family:Arial,Verdana,Times;font-size:12px;text-align:left;width:100%;border-spacing:0px; padding:3px 3px 3px 3px">
                                <xsl:for-each select="Attachment[position() mod 2 = 1]">
                                    <tr align="left" bgcolor="white">
                                        <xsl:if test="(position() +1) mod 2">
                                            <xsl:attribute name="bgcolor">
                                                <xsl:value-of select="$alternateRowColor"/>
                                            </xsl:attribute>
                                        </xsl:if>
                                        <td>
                                            <a target="_blank">
                                                <xsl:attribute name="href">
                                                    <xsl:value-of select="FilePath"/>
                                                </xsl:attribute>
                                                <xsl:value-of select="Name" />
                                            </a>
                                        </td>
                                        <td>
                                            <a target="_blank">
                                                <xsl:attribute name="href">
                                                    <xsl:value-of select="following-sibling::Attachment/FilePath"/>
                                                </xsl:attribute>
                                                <xsl:value-of select="following-sibling::Attachment/Name" />
                                            </a>
                                        </td>
                                    </tr>
                                </xsl:for-each>
                            </table>
                        </td>
                    </tr>
                </xsl:if>
            </table>
        </td>
    </tr>
</xsl:template>

<xsl:template match="Field">
    <tr>
        <xsl:if test="(position() +1) mod 2">
            <xsl:attribute name="bgcolor">
                <xsl:value-of select="$alternateRowColor"/>
            </xsl:attribute>
        </xsl:if>
        <xsl:if test="FieldName">
            <td>
                <xsl:value-of select="FieldName"/>
            </td>
        </xsl:if>
        <td>
            <xsl:choose>
                <xsl:when test="FieldValue[starts-with(., 'www.')]">
                    <a target="_blank">
                        <xsl:attribute name="href">http://<xsl:value-of select="FieldValue"/>
                        </xsl:attribute>
                        <xsl:value-of select="FieldValue"/>
                    </a>
                </xsl:when>
                <xsl:when test="FieldValue[starts-with(., 'http:')]">
                    <a target="_blank">
                        <xsl:attribute name="href">
                            <xsl:value-of select="FieldValue"/>
                        </xsl:attribute>
                        <xsl:value-of select="FieldValue"/>
                    </a>
                </xsl:when>
                <xsl:when test="FieldValue[starts-with(., 'https:')]">
                    <a target="_blank">
                        <xsl:attribute name="href">
                            <xsl:value-of select="FieldValue"/>
                        </xsl:attribute>
                        <xsl:value-of select="FieldValue"/>
                    </a>
                </xsl:when>
                <xsl:when test="FieldValue[starts-with(., '\\')]">
                    <a target="_blank">
                        <xsl:attribute name="href">
                            <xsl:value-of select="FieldValue"/>
                        </xsl:attribute>
                        <xsl:value-of select="FieldValue"/>
                    </a>
                </xsl:when>
                <xsl:when test="FieldValue[starts-with(., '&lt;img ')]">
                    <xsl:value-of select="FieldValue" disable-output-escaping="yes" />
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="FieldValue"/>
                </xsl:otherwise>
            </xsl:choose>
        </td>
    </tr>
</xsl:template>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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