여러 MXD에서 모든 데이터 세트의 기호 요약 테이블을 작성합니까?


9

이는 Mapinfo TAB 의 다음 ESRI 유지 기호 와 관련이 있습니다. 초기 단계 (아키 피)로 모든 데이터 세트의 기호에 액세스하고 아래 그래픽에 따라 기호에 대한 세부 정보가있는 문서를 만들고 싶습니다. 여기에 이미지 설명을 입력하십시오

이것이 가능합니까 (시간을 내서 해결해야합니까) 아니면 불가능한 경우 수백 개의 MXD에서 수동으로 수행해야합니다 (:-

단계를 분해하기 위해-프로세스의 적어도 일부를 자동화 할 수 있습니다.

  1. mxd를 스크롤하고 켜져있는 데이터 세트를 얻는 것은 문제가되지 않습니다.

    lyrFile.visible == True 인 경우 lyrFile = arcpy.mapping.Layer :

  2. 데이터 세트를 찾으면 .lyr 파일을 작성하고 (대부분 shp / gdb 파일) AttribXXX = lyrFile.xxx

여기서 XXX와 xxx는

BRIGHTNESS = lyrFile.brightness

(위의 형식 이상)

CONTRAST contrast
DATASETNAME datasetName
DATASOURCE dataSource
DESCRIPTION description
LABELCLASSES labelClasses
LONGNAME longName
NAME name
SHOWLABELS showLabels
TRANSPARENCY transparency
WORKSPACEPATH A layer's workspace or connection file path

문제는 RGB, 선 / 점 / 다각형 유형, 선 두께, 글꼴 등을 얻는 것을 찾을 수 없다는 것입니다. 이것이 발견되면 다음 단계

  1. 위의 각 값을 CSV에 작성하십시오 (쉽게) ... 예를 들어 (확장해야 함)

                    f = open(origPath+'\\LayerAtrributes_LOG.txt', 'a')
                    f.write(str(DATASETNAME)+","+str(DATASOURCE)+","+str(DESCRIPTION)+","+str(MXDName)+"\n")
                    f.close()
  2. 가능한 경우 예제에서와 같이 심볼로지의 jpg를 생성하고 링크를 csv에 추가해야합니다.

많은 아크 피를 요구하고 있습니까?


이것은 ArcObjects에서 가능하지만 확실히 arcpy는 아닙니다.
blah238

감사. 그렇다면 누구든지 arcobjects 처리를 도울 수 있습니까?
GeorgeC

시작 위치 만 지정할 수 있습니다. ArcObjects .NET SDK Help ; 기호 및 색상 작업레이어 및 렌더링 작업 . 아마도 그것들을 읽은 후에 다른 것이 없다면 요구 사항을보다 정확하게 정의하고 작업 범위를 제한 수 있을 것입니다. 왜냐하면 많은 작업 일 것입니다.
blah238

스타일 심볼을 내보내기위한 오래된 VB6 샘플은 다음과 같습니다. Style Dump . 그것의 고기에 대한 StyleDump.bas를 확인하십시오.
blah238

답변:


3

MXD 문서를 zip 파일 인 MSD로 변환하여 비슷한 문제를 해결 했으므로 확장명을 ".zip"으로 변경하고 열면 각 .xml 문서에 대한 정보가 포함 된 .xml 문서가 있습니다. mxd 내의 레이어가 표시됩니다. arcpy.ConvertToMSD 원하는 정보를 얻는 데 관련된 작업이있을 수 있지만 어딘가에 있어야합니다. 희망이 도움이됩니다!


이 중요한 아이디어에 감사드립니다. 정말 도움이됩니다. xml에서 생성 된 코드는 매우 복잡합니다. 관련 xml을 자동으로 캡처하도록 프로그램 했습니까? 그렇다면 공유 할 수 있다면이 측면에서 작업을 시작할 것입니다.
GeorgeC 2016 년

나는 XML에서 두 가지 값에만 관심이 있었기 때문에 내가 가진 것이 무엇이든 구축하기가 어려울 것입니다. 그러나 거기에는 정말 훌륭한 파이썬 XML 자습서가 많이 있습니다. 따라서 읽는 데 시간을 할애 할 준비가되면 문제를 해결할 것이라고 확신합니다. Happy coding :)
dango

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.