Vous devez comprendre le concept des curseurs Python.
Ils sont modélisés d'après les curseurs de base de données SQL dans PEP 249: Spécification de l'API de base de données Python v2.0 pour traiter les résultats renvoyés par les requêtes de base de données.
La majorité des interfaces de base de données Python adhèrent à cette norme: cx_Oracle (Oracle), Psycopg2 (PostgreSQL / PostGIS), MySQLdb (MySQL), sqlite3 (SQLite), etc.
Un curseur permet de récupérer une ou plusieurs lignes du résultat, jusqu'à ce que toutes les lignes correspondantes aient été traitées et qu'il récupère l'ensemble des résultats en même temps, ce qui peut entraîner des problèmes de vitesse de traitement (performances) ( Y a-t-il quelque chose de plus rapide qu'un curseur dans ArcGIS pour calculer les enregistrements? ).
Les curseurs de bases de données renvoient généralement une liste de tuples ou une liste de listes tandis que les méthodes de curseur dans ArcGIS renvoient un objet d'énumération Python.
Pour améliorer la solution du curseur, plusieurs wrappers qui fournissent des interfaces simplifiées aux bases de données SQL existent. Certains d'entre eux peuvent être appelés mappeurs relationnels d'objets ou ORM (création d'objets Pythonic à partir de lignes de base de données) et d'autres peuvent uniquement aider à générer du SQL ou fournir un support de mappage simple (voir Programmation de base de données de niveau supérieur )
Pour ArcPy, les solutions sont fournies, par exemple, par Sean Gillies ( Get with it ) et d'autres.
Les autres solutions géospatiales (PyQGIS, grass, osgeo.ogr, Pyshp, Rpy, Fiona, PySAL, etc.) n'utilisent pas de curseurs, ce qui facilite les choses ...
del myCursor
?