ArcGIS Desktop에서 실제로지도에 표시되는 범례 항목 만 표시합니까?


14

ArcGIS Desktop을 사용하면 범례에 맵에 표시되는 하위 항목 만 표시 할 수 있습니까?


범례를 그래픽으로 변환하려고 했습니까? 그래픽으로 변환 한 후 필요하지 않은 범례 항목을 수동으로 삭제할 수 있습니다. 도움이 되길 바랍니다. 감사.
Raj

1
@Raj-아뇨,지도를 유지하는 것은 고통 스러울 것입니다
dassouki

1
연결된 질문은 답변 된 또 다른 질문입니다. 따라서 문제를 자세히 설명하는 새로운 질문을하십시오.
MathiasWestin

1
이전 질문에는 arcgis 9.3이라는 태그가 붙어 있으므로 ArcGIS 10에 대해 새 질문을하고 태그를 지정할 수 있습니다. 또한 링크 된 질문에 대한 답변이며 범례 제한기에 대한 문제 해결 질문을합니다.
Jay Cummins

또한 문제를 해결하기 위해 문제를 해결하는 데 시간이 걸릴 수 있으며, 질문 본문을 새로운 정보로 정리하여 쉽게 따라 할 수 있도록 노력해야합니다. 그렇지 않으면 다른 사용자가 그것을보고 다음 질문으로 넘어갈 것입니다.
Jay Cummins

답변:


9

레전드 리미터

범례 제한 기는 "고유 값 범주"를 사용하여 기호를 정의하는 레이어에서만 작동합니다. 이 범례 스타일은 레이어 속성 대화 상자의 기호 탭에서 설정할 수 있습니다. 범례 리미터는 단일 심볼 심볼로 설정된 레이어 심볼을 제한하지 않습니다.

http://arcscripts.esri.com/details.asp?dbid=16097


그것은 필자가 필요로하는 것에 가장 가깝다. 본질적으로 나는 모든 상징을 독특한 가치로
바꾸어야

@ Mapperz-ArcGIS 10에 대한 수정 사항이 있습니다. forums.arcgis.com/threads/24968-Legend-Limiter-in-Arc-10
Dano

@ Mapperz (또는 누구나)-위의 링크에서 Legend Limiter에 필요한 파일을 다운로드했습니다. 설치하려고 할 때 Google에 오류 메시지가 표시됩니다. 이 부가 기능이 ArcGIS 10 및 Windows 7과 호환되도록 만드는 패치가 없다는 인상을 받았습니다.이 글타래에서,이 주제와 관련된 새로운 질문을 시작해야합니까? 또는 .... 두 매개 변수 (Arc 10 & Windows 7) /
Dano

3
Windows 7에서 Windows 호환 모드로 실행하십시오.
Mapperz

@ Mapperz-이 답변을 게시하여 답변으로 선택할 수 있습니다. 이 문제에 대한 나의 질문은 다음과 같습니다 : gis.stackexchange.com/questions/12609/…
Dano

11

이를 위해 추가 ArcPy를 작성할 필요가 없습니다. 간단하게 사용하는 동적 전설 당신이지도를 제작하는 경우 (는 ArcGIS 10.1에서 추가되었다).

맵 범위 옵션을 사용하면 적합한 범례 항목이 현재 맵 범위와 상호 작용하는 방식을 제어 할 수 있습니다. 경우 현재지도 정도에서 볼 수 있습니다 만 표시 클래스 확인란이 선택되어 그 클래스의 기능은 현재 범위에있는 경우, 범례 항목 클래스는 범례에 나타납니다. 해당 범례 항목의 기능이 현재 범위에 없으면 전체 항목이 범례에서 제거됩니다.


4

지도보기에서 범례를 마우스 오른쪽 버튼으로 클릭하여 속성 창을 연 다음 "항목"탭을 클릭하십시오. "맵 범위 옵션"에서 "현재 맵 범위에 보이는 클래스 만 표시"를 선택하십시오.

맵 내에서 이동하거나 레이어 내에서 클래스를 켜거나 끄면 새로 고침됩니다.


이것은 1 년 전에 게시 된 다른 답변 과 같은 것 같습니다 .
PolyGeo

확인란이 숨겨져있는 위치를 지정해 주셔서 감사합니다.
JMers

1

이 코드가 도움이 될 것이라고 생각합니다.

import arcpy
import arcpy.mapping
import os
import sys
from arcpy import env
import string


env.workspace = r"C:\Project"
for mxdname in arcpy.ListFiles("*.mxd"):
    print mxdname
    mxd = arcpy.mapping.MapDocument(r"C:\Project\\" + mxdname)
    legend = arcpy.mapping.ListLayoutElements(mxd,"LEGEND_ELEMENT")[0]
    for lyr in legend.listLegendItemLayers():
        legend.updateItem(lyr, use_visible_extent = True)
        print 'updateItem'    
    mxd.save()
del mxd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.