Crear uniones espaciales "Muchos a uno"

10

Estoy tratando de crear lo que llamo una unión "muchos a uno". No sé si ese sería el término correcto o no. Tengo una tabla que tiene números de cuenta únicos para casas móviles (es decir, M1007970) por número de cuenta de paquete (R0003285). (Muchas casas móviles por parcela, muchas a una). Necesito unir esta tabla a nuestra geometría de parcela, y todavía solo tengo un polígono por parcela.

Entonces, por ejemplo, la tabla puede tener tres filas que tienen los números de cuenta de casas móviles M1007370 en una fila, M1007371 en otra y otra con M1059370, pero todas tienen el mismo número de paquete R0032585. Nuestra geometría de parcela solo tendría el mismo campo de R0032585.

Al unirme tengo 12,088 registros de casas móviles y 44,103 parcelas. Si "mantengo todos los registros", tengo 44,103 registros con solo 7,947 números de cuenta de casas móviles (de los 12,088 originales). Si me uno basado en "mantener solo registros coincidentes" termino con solo 7,947 registros en total.

Lo hice con éxito en el pasado y creé un modelo. En este modelo, uso la tabla para que las casas móviles se unan a la capa de parcela (.lyr, la única forma en que puede / podría unirse en un modelo) según el número de cuenta de la parcela. Copio las características manteniendo solo registros coincidentes en una geodatabase de archivos. Desde la geodatabase de archivos, luego lo agrego a nuestro sistema SDE. Actualmente, esto dejó de funcionar por razones que no puedo entender, ya que nada ha cambiado.

Quizás alguien pueda transmitir mejor que yo lo que estoy tratando de hacer, y si se llama algo más que una relación de muchos a uno (no creo que sea uno a muchos ...).

Evan
fuente

Respuestas:

9

A veces es confuso, pero es realmente una cuestión de perspectiva. Consulte este diagrama (de este tema ) para obtener una referencia:

Diagrama de relación

Este es un ejemplo de cinco relaciones (y tres cardinalidades diferentes ).

  1. Uno a muchos: las parcelas están relacionadas con la tabla ParcelToOwner en una relación de uno a muchos; Una parcela puede tener muchos propietarios (propiedad parcial).
  2. Muchos a uno: la tabla ParcelToOwner está relacionada con Parcelas en una relación de muchos a uno; muchos propietarios poseen (al menos un porcentaje de) una parcela.
  3. Muchos a uno: la tabla ParcelToOwner está relacionada con los propietarios en una relación de muchos a uno; Muchas parcelas pueden ser propiedad (al menos parcialmente) de un propietario.
  4. Uno a muchos: los propietarios están relacionados con la tabla ParcelToOwner en una relación de uno a muchos; un propietario puede tener muchas parcelas (de nuevo, al menos parcialmente)
  5. Muchos a muchos: las parcelas están relacionadas con propietarios en una relación de muchos a muchos; muchas parcelas pueden ser (al menos parcialmente) propiedad de muchos propietarios, y muchos propietarios pueden poseer (al menos parcialmente) muchas parcelas. Esto se expresa a través de la tabla ParcelToOwner y las relaciones antes mencionadas. La mayoría de los DBMS no pueden expresar una relación de muchos a muchos sin una tabla intermedia ( fuente ), de ahí este diseño.

Como puede ver, si una relación es de uno a muchos o de muchos a uno depende de cómo la mire.

Dicho todo esto, la forma más fácil de lograr lo que está buscando es crear una tabla de consulta que cree muchas parcelas idénticas, una para cada casa móvil. Consulte esta publicación de blog para obtener más detalles: un consejo rápido sobre cómo realizar una unión 1: M

Si todos sus datos están en una geodatabase corporativa, también puede usar una Capa de consulta para hacer lo mismo, sobre la marcha (sin clase de entidad intermedia).

blah238
fuente