O que são as linhas verdes misteriosas no Layout View produzidas durante a execução do script do ArcObjects?

8

Algum guru do ArcObjects poderia me dizer quais são essas linhas verdes no meu Layout de Página e o que fazer ou não fazer para que elas não apareçam? Veja a imagem em anexo.

Eu usei o ArcObjects do Python. Meu script é converter grades e gratículas de quadros de dados em gráficos. Como resultado, recebo o elemento de grupo do qual preciso extrair elementos únicos (texto, linhas etc.) para brincar com eles. No entanto, após esta operação (que é realizada para três grades separadas), recebo essas misteriosas linhas verdes, que não fazem parte do GraphicContainer. Na verdade, as linhas verdes aparecem somente após a conversão e a extração de uma gratícula (WGS).

Há algumas orientações aqui sobre como se livrar deles, o que funciona (recortar e colar ou excluir e recuperar todos os elementos da página). No entanto, eu ainda gostaria de evitá-los em primeiro lugar. Além disso, após algumas configurações de recorte e colagem, percebi que as linhas verdes desaparecem quando esses 3 elementos da imagem (canto inferior direito) são excluídos e restaurados.

Código suspeito de ser responsável por isso:

pGCL.Reset() #reset graphics containere
pElem = pGCL.Next()
while pElem:
 pEP3 = CType(pElem, esriCarto.IElementProperties3)
 if pEP3.Name == '' and pEP3.Type == 'Group':
  pGE = CType(pElem, esriCarto.IGroupElement3)
  pGE_no = pGE.ElementCount
  for i in range(pGE_no):
   if pGE.ElementCount > 0:
    pGEe = pGE.Element[0]
    pGCL.MoveElementFromGroup(pGE, pGEe, 0)
   else: break
 pElem = pGCL.Next()

Sei que há alguma discussão em andamento, se o GIS.SE é o local apropriado para essas questões técnicas e específicas de software. Peço desculpas por isso, no entanto, não encontrei resposta satisfatória em nenhum outro lugar.

Linhas verdes no layout da página

Tomek
fonte
1
Ótima pergunta. Para este fórum. Esta linha é impressa?
precisa saber é o seguinte
Surpreendentemente, não, eles não imprimem. Em um certo nível de redução de zoom, eles podem desaparecer, mas após o zoom, eles estão novamente presentes. Fiquei preocupado, esse script corrompeu meu arquivo .mxd, mas após as operações "cortar e colar" ou "excluir e desfazer" mencionadas acima, elas desaparecem para sempre. Então, eu assumo .mxd não está corrompido. Realmente, eu gostaria de ouvir algumas explicações.
Tomek
Isso é reproduzível em outras estações de trabalho? Eu tive um problema semelhante (apesar de causa e solução diferentes) e outras estações de trabalho que não apresentavam problemas (e algumas que apresentavam). gis.stackexchange.com/questions/3546/…
Jay Cummins
Eu tentei em 3 estações de trabalho com ArcGIS 10 e 10.1. Reproduzível.
Tomek
O que você ganha com Selecionar todos os elementos, Aplicar zoom aos elementos selecionados? Aumenta o zoom para fora? Eu tinha uma imagem desaparecer em um local sempre inacessível. Eu magicamente (não reproduzível) selecionei e excluí.
gm70560

Respostas:

5

Esta linha parece suspeita para mim:

for i in range(pGE_no):

Se você remover o i-ésimo elemento do grupo, incremente i no próximo elemento, na verdade, não é o elemento i + 1. Isso pode causar confusão.

Para superar isso, tente fazer um loop para trás, inicie em pGE_no e diminua i.

Atualizar

Além disso, como você está percorrendo todos os elementos no contêiner de gráficos, adicionar um novo elemento ao nível superior do contêiner enquanto você está próximo pode ser outra causa de confusão. Em vez disso, talvez faça uma lista de todos os agrupamentos e faça um loop na chamada da lista (em vez do recipiente gráfico) MoveElementFromGroup. Se você tiver grupos aninhados, as coisas ficarão um pouco mais complicadas, você precisará começar com as folhas e podá-las novamente.

Kirk Kuykendall
fonte
Não verifiquei os conselhos da atualização. Dar voltas para trás não mudou nada. Vou tentar fazer um loop na lista em vez de container gráfico.
Tomek
De fato, a adição de um novo elemento ao contêiner enquanto era o próximo. Obrigado Kirk.
Tomek
Kirk, alguma dica de como extrair o grupo do grupo da maneira correta (ou elemento do grupo de FROM grupo)? Everythig está bem com qualquer outro elemento, mas o elemento group não deseja cooperar. Alguma pista?
Tomek
0

Parece semelhante a guias e réguas.
no entanto, não é possível fazê-los parar e dobrar. (raio).

governantes

A linha persiste se você alternar para a visualização de dados?
Isso pode indicar se há algo "ligado" na exibição do layout ou nos seus dados.

exibição de dados
Eu tive alguma anomalia que fez algo semelhante quando um par inválido (coordenadas) fazia parte de um recurso de linha.
Você pode tentar executar o geomtery de reparo nos seus dados para ver se isso foi removido.

reparar

Brad Nesom
fonte
Tentei reparar todas as geometrias que existem, sem alterações. A mentira verde ainda aparece. Eu não acho que essas sejam reletadas às diretrizes. Não posso interagir com eles, eles simplesmente aparecem.
Tomek