¿Hacer un shapefile a nivel de condado a partir de un conjunto de puntos con un espacio de 30 x30 km con ArcGIS for Desktop?

9

Tengo un conjunto de datos en formato csv, como:

latitude, longitude, value
-45, 45, 10
....

Me gustaría calcular las medias a nivel de condado a partir de estos datos, utilizando ArcGIS o R + grass.

Tengo la capa de los condados de ArcGIS USA, pero no he podido completar con éxito una unión espacial.

¿Cómo puedo hacer esto?

Abe
fuente

Respuestas:

4

Un flujo de trabajo utilizado para generar un archivo de forma a nivel de condado con media (z) en cada condado a partir de una tabla de datos xyz en ArcGIS

tenga en cuenta que esto se basa en la sugerencia de @ MLowry, que agrega instrucciones casi paso a paso.


Abrir ArcCatalog

  1. crear una nueva geodatabase personal (por ejemplo, foo.mdb)
  2. archivo -> nuevo -> geodatabase personal
  3. agregar datos

    • haga clic derecho en map.csv -> exportar a geodatabase (único) -> foo.mdb
    • haga clic derecho en counties.lyr -> exportar a geodatabase (único) -> foo.mdb
  4. crear una clase de características (archivos .shp) de la tabla xy

    • abrir foo.mdb
    • haga clic con el botón derecho en la tabla map.csv -> crear featureclass desde xytable
    • campos de entrada x = lon, y = lat, z = rendimiento
    • sistema de coordenadas de coordenadas de entrada import -> from counties.lyr (o, equivalentemente, -> geográfico .. -> mundo -> wgs_1984 -> abierto -> ok)
  5. importar clases de entidad a la geodatabase (múltiple)

    • seleccione archivos shp creados en prev. paso -> agregar -> está bien

Abra ArcMap

  1. Agregar datos

    • seleccione foo.mdb -> CTL + seleccione tablas -> abrir
  2. Unión espacial

    • ArcToolbox -> Herramientas de análisis -> Superposición -> Unión espacial ->
    • Características de destino: counties.lyr
    • Unir características: mapa de tabla xyz
    • Clase de entidad de salida: filename_spatialjoin
    • Operación de unión: JOIN_ONE_TO_ONE
    • Opción de coincidencia: más cercana
    • Mapa de campo de las características de unión: elimine los campos no deseados (solo se requieren STATE_FIPS, CNTY_FIPS, valores z
    • Radio de búsqueda: 30 km
    • hacer clic OK
    • Valor Z = rendimiento; seleccione 'mean' (o estadística alternativa)
David
fuente
@David Gracias por la respuesta detallada ... tendrá que echarle un vistazo.
Abe
@Abe no dudes en editar cuando lo hagas. Lo hice CW
David LeBauer
@David En esta circunstancia, IDW producirá resultados incorrectos para las estadísticas zonales: vea la discusión después de la respuesta de @ scw.
whuber
@whuber. Gracias por señalar eso. Cuando terminé, había olvidado que el punto original era hacer una unión espacial en los puntos con los condados; fijo.
David LeBauer
@David Gracias. Pero ahora estoy confundido. Primero, ¿en qué parte de este flujo de trabajo creas realmente una "capa ráster", como anuncia tu título? Segundo, ¿cómo es que se producen tres capas? El archivo CSV simplemente representa un conjunto de puntos (x, y), cada uno con un solo atributo numérico (z).
whuber
6

Parece que podría convertir el .csv en un tema de evento, luego exportarlo a .shp, luego hacer una unión espacial con el nuevo .shp en la capa del condado, y BOOM, está listo para realizar los cálculos.

MLowry
fuente
6

Un enfoque general es convertir los datos de puntos espaciados regularmente en un ráster (XYZ a ráster en Arc *; v.in.xyz en GRASS) y luego realizar un operador de estadísticas zonales para agregar los valores de las celdas dentro de cada condado y calcular estadísticas ( la media es una de las estadísticas estándar calculadas). Para realizar las estadísticas, use Estadísticas zonales en Arc * o v.rast.stats en GRASS.

Si necesita hacer estadísticas más avanzadas, puede hacer el análisis en R con rastery, sppero es un poco más complicado.

scw
fuente
Buena idea, pero a menos que las matrices de puntos estén orientadas correctamente con las coordenadas, se realizará un remuestreo en la conversión a un ráster y estará a merced del algoritmo de remuestreo: los promedios probablemente desaparecerán un poco sin importar lo que pase. .
whuber
Correcto, si el tamaño de la celda se establece en un muestreo aproximado puede ocurrir. Como aproximación, debe poder establecer el tamaño de celda a la mitad de la distancia mínima entre dos puntos y evitar este problema. Este enfoque tiene la desventaja de tener que manejar el remuestreo, pero me ha parecido mucho mejor que el número de puntos es grande (decenas de miles o más).
scw
@scw El remuestreo se produce sin importar el tamaño de la celda (a menos que los datos ya estén perfectamente alineados con la cuadrícula). Al usar un tamaño de celda más fino, probablemente obtendrá peores respuestas, porque la mayoría de los valores de la cuadrícula se interpolan entre los originales. A menos que esté utilizando la interpolación del vecino más cercano, esto hace que los valores extremos estén subrepresentados. La media solo se verá ligeramente afectada; otras estadísticas, como la desviación estándar, pueden verse más afectadas.
whuber
@whuber Creo que veo de dónde viene nuestro malentendido: no estoy abogando por convertir los datos en una superficie continua, solo colocando los valores de los puntos (cuando existen) en una cuadrícula ráster regular. Por lo tanto, la gran mayoría de la cuadrícula permanecerá NULA, con solo valores ocasionales en ubicaciones de celda que coinciden con ubicaciones de puntos.
scw
@scw Ah, muy bien! Gracias por la aclaración. En efecto, está haciendo el equivalente basado en la cuadrícula de la unión espacial recomendada por @MLowry.
whuber