Creo que esta publicación del blog da un buen seguimiento a la reciente publicación de Dan Patterson<\/A>, ...That empty feeling...<\/A> La conversación sobre geometrías nulas y vacías en ArcGIS no es nueva, pero sí requiere un poco de comprensión.<\/EM><\/P><\/P>Cuando se trata de crear nuevas clases de entidades, estoy seguro de que la mayoría de las personas están bastante familiarizadas con la siguiente pantalla del asistente Nueva Clase de Entidad:<\/P><\/P><\/P>Al crear una nueva clase de entidad usando ArcGIS Desktop, ya sea a través de la GUI o ArcPy, la configuración predeterminada permite valores NULL en el campo SHAPE (ver resaltado en amarillo arriba). Independientemente de si los NULLs en el campo SHAPE son una buena o mala idea, están soportados y permitidos por defecto, por lo que es bueno entender qué sucede o puede suceder cuando las geometrías no se rellenan con el resto de un registro en las clases de entidad.<\/P><\/P>Después de solucionar varios casos donde NULL no era NULL, decidí profundizar en lo que realmente ocurre cuando las geometrías no se rellenan en las clases de entidad. Resulta que la respuesta depende tanto de la herramienta como del tipo de geodatabase que se use para insertar, almacenar y recuperar registros. Aquí se presentan los resultados para algunas de las herramientas y tipos de geodatabases más comunes.<\/P><\/P>La Tabla 1 muestra lo que realmente se rellena en el campo SHAPE cuando se inserta nada, None<\/SPAN>, una geometría vacía y una geometría no vacía en una clase de entidad poligonal usando tres métodos diferentes.<\/P><\/P>TABLA 1: Valores del Campo SHAPE en Clase de Entidad<\/TD><\/TR>Tipo deAlmacenamiento<\/P><\/TH>Métodode Inserción<\/P><\/TH>NADA<\/STRONG><\/TH>NONE<\/STRONG><\/TH>VACÍO<\/STRONG><\/TH>POLYGON<\/STRONG><\/TH><\/TR>PGDB<\/P><\/TD>Editor ArcMap<\/P><\/TD>Null<\/SPAN>N/A<\/SPAN>N/A<\/SPAN>Polygon<\/SPAN><\/TR>PGDB<\/SPAN>arcpy.InsertCursor<\/SPAN>Null<\/SPAN>Error<\/SPAN>Empty<\/SPAN>Polygon<\/SPAN><\/TR>PGDB<\/SPAN>arcpy.da.InsertCursor<\/SPAN>Null<\/SPAN>Null<\/SPAN>Null<\/SPAN>Polygon<\/SPAN><\/TR>FGDB<\/SPAN>Editor ArcMap<\/SPAN>Empty<\/SPAN>N/A<\/SPAN>N/A<\/SPAN>Polygon<\/SPAN><\/TR>FGDB<\/SPAN>arcpy.InsertCursor<\/SPAN>Null<\/SPAN>Error<\/SPAN>Empty<\/SPAN>Polygon<\/SPAN><\/TR>FGDB<\/SPAN>arcpy.da.InsertCursor<\/SPAN>Null<\/SPAN>Null<\/SPAN>Null<\/SPAN>Polygon<\/SPAN><\/TR>SDE(SQL)<\/SPAN>Editor ArcMap<\/SPAN>Empty<\/SPAN>N/A<\/SPAN>N/A<\/SPAN>Polygon<\/SPAN><\tr\/>AlmacenamientoTipoMétodode RecuperaciónNULLEMPTYPOLYGONPGDBarcpy.SearchCursorNoneEmptyPolygonPGDBarcpy.da.SearchCursorNoneNonePolygonFGDBarcpy.SearchCursorNoneEmptyPolygonFGDBarcpy.da.SearchCursorNoneNonePolygonSDE(SQL)arcpy.SearchCursorNoneEmptyPolygonSDE(SQL)arcpy.da.SearchCursorNoneNonePolygonSDE(ORA)arcpy.SearchCursorNoneEmptyPolygonSDE(ORA)arcpy.da.SearchCursorNoneNonePolygonNOTA:Tipo de Almacenamiento:PGDB := geodatabase personalFGDB := geodatabase de archivosSDE(SQL) := geodatabase empresarial SQL ServerSDE(ORA) := geodatabase empresarial OracleMétodo de Recuperación:arcpy.SearchCursor := cursor de búsqueda ArcPy original/antiguoarcpy.da.SearchCursor := cursor de búsqueda ArcPy Data AccessValor SHAPE:NULL := valor/marcador NULL en el campo SHAPEEMPTY := polígono vacío o colección vacía en el campo SHAPEPOLYGON := polígono no vacío en el campo SHAPERecuperar Geometría:None := objeto Python NoneEmpty := polígono vacío o colección vacíaPolygon := polígono no vacío
<\/P>
Cuando se trata de crear nuevas clases de entidades, estoy seguro de que la mayoría de las personas están bastante familiarizadas con la siguiente pantalla del asistente Nueva Clase de Entidad:<\/P>
Al crear una nueva clase de entidad usando ArcGIS Desktop, ya sea a través de la GUI o ArcPy, la configuración predeterminada permite valores NULL en el campo SHAPE (ver resaltado en amarillo arriba). Independientemente de si los NULLs en el campo SHAPE son una buena o mala idea, están soportados y permitidos por defecto, por lo que es bueno entender qué sucede o puede suceder cuando las geometrías no se rellenan con el resto de un registro en las clases de entidad.<\/P>
Después de solucionar varios casos donde NULL no era NULL, decidí profundizar en lo que realmente ocurre cuando las geometrías no se rellenan en las clases de entidad. Resulta que la respuesta depende tanto de la herramienta como del tipo de geodatabase que se use para insertar, almacenar y recuperar registros. Aquí se presentan los resultados para algunas de las herramientas y tipos de geodatabases más comunes.<\/P>
La Tabla 1 muestra lo que realmente se rellena en el campo SHAPE cuando se inserta nada, None<\/SPAN>, una geometría vacía y una geometría no vacía en una clase de entidad poligonal usando tres métodos diferentes.<\/P><\/P>TABLA 1: Valores del Campo SHAPE en Clase de Entidad<\/TD><\/TR>Tipo deAlmacenamiento<\/P><\/TH>Métodode Inserción<\/P><\/TH>NADA<\/STRONG><\/TH>NONE<\/STRONG><\/TH>VACÍO<\/STRONG><\/TH>POLYGON<\/STRONG><\/TH><\/TR>PGDB<\/P><\/TD>Editor ArcMap<\/P><\/TD>Null<\/SPAN>N/A<\/SPAN>N/A<\/SPAN>Polygon<\/SPAN><\/TR>PGDB<\/SPAN>arcpy.InsertCursor<\/SPAN>Null<\/SPAN>Error<\/SPAN>Empty<\/SPAN>Polygon<\/SPAN><\/TR>PGDB<\/SPAN>arcpy.da.InsertCursor<\/SPAN>Null<\/SPAN>Null<\/SPAN>Null<\/SPAN>Polygon<\/SPAN><\/TR>FGDB<\/SPAN>Editor ArcMap<\/SPAN>Empty<\/SPAN>N/A<\/SPAN>N/A<\/SPAN>Polygon<\/SPAN><\/TR>FGDB<\/SPAN>arcpy.InsertCursor<\/SPAN>Null<\/SPAN>Error<\/SPAN>Empty<\/SPAN>Polygon<\/SPAN><\/TR>FGDB<\/SPAN>arcpy.da.InsertCursor<\/SPAN>Null<\/SPAN>Null<\/SPAN>Null<\/SPAN>Polygon<\/SPAN><\/TR>SDE(SQL)<\/SPAN>Editor ArcMap<\/SPAN>Empty<\/SPAN>N/A<\/SPAN>N/A<\/SPAN>Polygon<\/SPAN><\tr\/>Almacenamiento
Tipo
Método
de Recuperación
NOTA:
Está claro que hay algunas diferencias, inconsistencias se podría decir, con cómo diferentes herramientas insertan nada o geometrías vacías en una clase de entidad que permite valores NULL. Incluso con la misma herramienta, hay situaciones donde nada o geometrías vacías se manejan de manera diferente entre distintos tipos de geodatabases. También hay diferencias en cómo diferentes cursores de búsqueda, y probablemente cursores de actualización, recuperan geometrías vacías de clases de entidad.
No puedo decir qué significa todo esto, pero hay algunos puntos que me llamaron la atención.
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.