Se o uso da memória é sua principal preocupação, então muitos recursos pequenos (baixa contagem de vértices) provavelmente serão mais do seu agrado do que alguns recursos muito grandes (alta contagem de vértices). Mas você pode achar que "muitos recursos" podem eventualmente sobrecarregar até "muitos vértices" para velocidade de processamento.
Se você pensar em como os algoritmos devem ser estruturados para processar todos os recursos em relação a todos os recursos entre duas classes de recursos, você estará trabalhando com loops multi-aninhados (para recursos em FC1 e FC2 e para os vértices em Feature1 e Feature2). Em operações como desenho, o número de solicitações de desenho é frequentemente uma preocupação maior do que os vértices em cada solicitação, mas com operações tema a tema, os algoritmos principais provavelmente se basearão na contagem de vértices em cada par F1 / F2 , com uma " notação O grande " de "O (N * M)" (o tempo para concluir a operação está relacionado ao fator do número de vértices envolvidos), que, para grandes recursos nos dois conjuntos de dados, está próximo o suficiente para O (N ^ 2) para que você se preocupe com a conclusão do trabalho.
Tive sucesso ao sobrepor recursos maciços (como Rússia, Canadá, EUA, Austrália, Brasil, Noruega) com uma grade de 5 graus (rede de pesca) para reduzir a complexidade do recurso para processamento intermediário. Eu já vi operações point-in-polygon em uma camada de PAÍSES 1: 15m com restrição de vértices executadas 100-1000 vezes mais rápido que a tabela original (com apenas um aumento de 20x na contagem de recursos). Você precisa ter cuidado em sua lógica de processamento para lidar corretamente com relacionamentos um para muitos e muitos para muitos, especialmente nos casos em que existe um limite falso.
Há também um aspecto de "retornos decrescentes" na economia de trabalhar com recursos menores - optei por uma grade de 5 graus testando o desempenho da interseção com 90, 45, 30, 20, 15, 10, 5, 3, 2 e Grades de 1 grau, que mostraram um aumento alarmante no tempo de processamento à medida que o número total de recursos aumentou.
Não são momentos em que menos recursos com mais vértices são mais eficientes, por isso é provavelmente vale a pena o esforço para fazer alguns testes na ordem de operação com dados reais (não simplificado subconjuntos de teste) antes de cometer a uma abordagem sobre a outra (utilização RAM equilíbrio com tempo de execução).
NOTA: Executei novamente o exercício de grade com o hardware moderno e obtive o desempenho ideal com uma sobreposição de 30 graus, aumentando o risco de recursos muito pequenos e aumentando a importância da avaliação com dados de produção.