# Manipulação de Camadas

#### **4.1. Carregar uma Camada Vetorial**

```python
pythonCopiar códigofrom qgis.core import QgsVectorLayer

# Caminho do arquivo shapefile
caminho = '/caminho/para/seu/shapefile.shp'
camada = QgsVectorLayer(caminho, 'Minha Camada', 'ogr')

if not camada.isValid():
    print("Falha ao carregar a camada!")
else:
    print("Camada carregada com sucesso!")
```

#### **4.2. Adicionar a Camada ao Projeto**

```python
pythonCopiar códigofrom qgis.core import QgsProject

projeto = QgsProject.instance()
projeto.addMapLayer(camada)
```

***

### **5. Processamento de Dados**

#### **5.1. Selecionar Feições**

```python
pythonCopiar código# Selecionar feições onde o atributo 'população' > 1000
expressao = '"população" > 1000'
camada.selectByExpression(expressao)

# Contar feições selecionadas
print(f"Feições selecionadas: {camada.selectedFeatureCount()}")
```

#### **5.2. Exportar Dados**

```python
pythonCopiar código# Salvar as feições selecionadas em um novo shapefile
caminho_saida = '/caminho/para/saida.shp'
QgsVectorFileWriter.writeAsVectorFormat(
    camada,
    caminho_saida,
    "utf-8",
    camada.crs(),
    "ESRI Shapefile",
    onlySelected=True
)
```
