Más

¿TIN se distorsiona usando un clip duro para editarlo?

¿TIN se distorsiona usando un clip duro para editarlo?


Tengo dos secciones transversales a partir de las cuales he creado un TIN como se puede ver en la siguiente imagen. Para eliminar la parte exterior adicional del TIN, creé un polígono a partir de las secciones transversales y edité el TIN recortando el polígono, pero el TIN resultante siempre está distorsionado y sorprendentemente faltan algunas áreas.


Estoy usando 10.2 pero no tuve problemas para recortar su TIN. Su polígono no es una entidad 3D, por lo que es posible que haya configurado incorrectamente el Campo de altura parámetro que, de forma predeterminada, está, en este caso, establecido en iD; esto obligará a recortar el TIN a esa altura que es 0.

Establezca el Campo de altura en NINGUNO y ejecútelo nuevamente:

El TIN resultante se recortará de la siguiente manera:


Intente usar la 'Herramienta Pluma' P y dibuje trazados en su lugar. Los trazados son las verdaderas líneas de punto a punto y lo que hace la 'Herramienta de línea' es en realidad una "línea" con 4 esquinas. Luego, seleccione diferentes puntos en una ruta usando la herramienta 'Selección directa' A como @AAGD ya se mencionó.

La herramienta 'Selección directa' A también funciona con líneas creadas con la 'Herramienta de línea', pero cuando empiece a arrastrar, notará que la línea se 'transforma' en una forma con 4 esquinas, que en realidad no es una línea.

Por tanto, P y A son las herramientas que debería tener en cuenta.

Editar una línea dibujada con la herramienta Línea (U) es un poco complicado, ya que en realidad es un rectángulo estrecho.

Puede editar los puntos finales con la Herramienta de selección directa (A), pero encontrará que en realidad hay dos puntos en cada extremo.

Esto significa que al mover estos puntos, es posible que obtenga una línea más delgada, porque el rectángulo se distorsiona.

Una vez que he dibujado una línea, presiono v en mi teclado para cambiar a la herramienta de movimiento. Entonces puedo modificar las anclas de las líneas.

Esto funciona para líneas verticales u horizontales. Es especialmente útil si necesita regresar y editar líneas más adelante. Dibuja las líneas un poco más largas de lo necesario. Seleccione una pequeña sección de la parte recta de la línea con la herramienta de selección rectangular y elimínela. Luego, seleccione el resto de la línea comenzando desde el área en blanco e incluya el final completo de la línea. Cambie a la herramienta de movimiento y luego use las flechas hacia arriba y hacia abajo o hacia la izquierda y hacia la derecha en su teclado para colocar exactamente la punta de la línea donde la necesite. Cuando anule la selección, se fusionarán. Esto mantendrá el ancho de línea y el tamaño del punto final consistentes con el original.


8.1 Reproyección de datos vectoriales

Comenzaremos leyendo un conjunto de datos de los límites de los condados de EE. UU. De la Oficina del Censo de EE. UU. Para simplificar las cosas, eliminaremos Alaska, Hawái y los territorios para que solo tengamos los 48 estados contiguos. Para averiguar en qué proyección están los datos, podemos usar la función st_crs () en el sf paquete. Los datos están en coordenadas geográficas (longitud y latitud) y están referenciados al elipsoide GRS80. La proyección también tiene un código del European Petroleum Survey Group (EPSG). Cuando no está buscando petróleo, el EPSG mantiene una lista estándar de códigos para objetos geográficos, incluidos sistemas de coordenadas, datums y esferoides. En este caso, el identificador de referencia espacial (SRID) para este sistema de coordenadas geográficas es 4269. Estos códigos son útiles porque al reproyectar datos, es más fácil ingresar un solo código que ingresar todos los parámetros de una proyección.

La función st_transform () se usa para reproyectar sf objetos. El primer argumento es el conjunto de datos espaciales a reproyectar. El segundo argumento es el sistema de coordenadas en el que se volverán a proyectar los datos. La información del sistema de coordenadas se puede ingresar de varias formas diferentes. Aquí, simplemente ingresamos otro código EPSG (102003) que es una proyección Albers Equal Area comúnmente utilizada para los Estados Unidos contiguos. Desafortunadamente, los códigos EPSG no son muy fáciles de buscar, pero aquí hay un par de sitios web que puede explorar: https://spatialreference.org/ http://www.epsg-registry.org/

Otra forma de definir la proyección es ingresar todos los parámetros de proyección usando el formato proj4string de la biblioteca PROJ.4. Aquí, estoy ingresando parámetros a propósito para una proyección "mala" que coloca los paralelos estándar cerca del Círculo Polar Ártico.

Eso no se ve muy bien. Si queremos que la proyección coincida con la de otro conjunto de datos, una forma fácil de hacerlo es simplemente usar la función st_crs () para extraer la información del sistema de coordenadas del conjunto de datos espaciales que queremos hacer coincidir. Creo que esta es la forma más sencilla de asegurarse de que sus datos estén todos en la misma proyección: comience proyectando uno de sus conjuntos de datos en el sistema de coordenadas que desea usar y luego proyecte todos sus otros conjuntos de datos en el sistema de coordenadas coincidente .

Aquí hay algunos ejemplos más, mirando solo el estado de California.

Tenga en cuenta que California parece un poco inclinada ya que está en el borde de los Estados Unidos limítrofes y, por lo tanto, se distorsiona por la proyección de Albers a nivel nacional. Podemos hacer que se vea un poco mejor colocándolo en una proyección UTM más localizada. California es en realidad lo suficientemente grande como para abarcar dos zonas UTM, pero seleccionaremos la zona 11 norte. En este caso, simplemente ingresaremos el código proj4string que incluye el sistema de coordenadas (utm), la zona (11 norte), el datum y las unidades de distancia. Agregar “+ no_defs” asegura que no se usarán valores predeterminados en la proyección.


Sintaxis

La referencia espacial del TIN de salida.

Agregue referencias a una o más clases de entidad que se incluirán en el TIN. Para cada clase de entidad, deberá establecer propiedades que indiquen cómo se usa para definir la superficie.

in_feature_class: la clase de entidad cuyas entidades se importarán al TIN.

height_field: el campo que especifica el origen de los valores de elevación para las entidades. Se puede utilizar cualquier campo numérico en la tabla de atributos de la característica. Si la función admite valores z, la geometría de la función se puede leer seleccionando la opción Shape.Z. Si no desea una altura, especifique la palabra clave & ltNone & gt para crear entidades sin Z cuya elevación se interpolaría desde la superficie.

SF_type: el tipo de entidad de superficie define cómo la geometría importada de las entidades se incorpora a la triangulación de la superficie. Las opciones con designación dura o blanda se refieren a si los bordes de la entidad representan roturas distintas en la pendiente o un cambio gradual cuando la superficie triangulada se convierte en un ráster. Están disponibles las siguientes palabras clave:

  • masspoints: puntos de elevación que se importarán como nodos
  • línea dura o línea suave: líneas de rotura que imponen un valor de altura
  • hardclip o softclip: dataset poligonal que define el límite del TIN
  • harderase o softerase: conjunto de datos de polígono que define agujeros en las partes interiores del TIN
  • hardreplace o softreplace: conjunto de datos de polígonos que define áreas de altura constante
  • hardvaluefill o softvaluefill: conjunto de datos de polígono que define valores de etiqueta para los triángulos según el campo entero especificado en la columna tag_value

tag_value: el campo entero de la tabla de atributos de la clase de entidad que se utilizará cuando el tipo de entidad de superficie se establezca en una opción de relleno de valor. El relleno de etiquetas se utiliza como una forma básica de atribución de triángulos cuyos límites se aplican en la triangulación como líneas de rotura. La opción predeterminada está establecida en & ltnone & gt.

Especifica la técnica de triangulación utilizada a lo largo de las líneas de rotura del TIN.

  • DELAUNAY: el TIN utilizará la triangulación conforme a Delaunay, que puede densificar cada segmento de las líneas de rotura para producir múltiples aristas de triángulos. Este es el predeterminado.
  • CONSTRAINED_DELAUNAY: el TIN utilizará la triangulación de Delaunay restringida, que agregará cada segmento como un solo borde. Las reglas de triangulación de Delaunay se respetan en todas partes, excepto a lo largo de las líneas de corte, que no se densificarán.

5 respuestas 5

Esto proporciona una referencia de lo que está buscando. No estoy muy familiarizado con Python, pero dado que opencv mantiene la misma funcionalidad, creo que yiu puede extrapolar del ejemplo de c ++.

El algoritmo más común utilizado para esto es el PSNR (también conocido como relación pico señal / ruido).

pero si desea una similitud estructural, puede usar la implementación de OpenCV a continuación.

Es importante tener en cuenta que, dado que está comparando cuadro por cuadro (2 imágenes), debe recorrer el video para obtener el par correspondiente.

Si quiere decir que son exactamente iguales (es decir, el mismo formato, el mismo tipo de archivo, etc.), entonces la forma más sencilla es una simple comparación de archivos, es decir, simplemente compare cada byte de archivo por byte.

También es la única prueba segura; por ejemplo, pueden ser casi idénticas pero una tiene algunos bytes corruptos a la mitad.

Este tipo de comparación byte por byte será mucho más simple que intentar decodificar e interpretar los muchos, muchos formatos de video diferentes que existen.

Según el ejemplo de PSNR, está ejecutando ambos videos al mismo tiempo y comparando cada fotograma (punto de tiempo actual) de ambos videos, pero ¿qué pasa si el primer minuto del primer contenido de video coincide con el segundo o tercer minuto del segundo contenido de video? PSNR no se ajustará a tal caso. Puede utilizar el "algoritmo de coincidencia de fotogramas de vídeo mediante programación dinámica" http://electronicimaging.spiedigitallibrary.org/article.aspx?articleid=1100207

  • con N dependiendo del FPS y la "velocidad" del video (video de persecución de autos: N = 1 panorámicas lentas sobre paisajes verdes: N quizás 5 o incluso 10)
  • obtener tres fotogramas a intervalos "razonables" (digamos 5 segundos) en la mitad del primer vídeo
  • por cada N-ésimo fotograma del segundo video en la posición pos
    • compare el PSNR de este marco con el marco A, B y C
    • si el PSNR es menor que MinPSNR [A, B o C] .PSNR entonces
      • MinPSNR [A, B o C] = (PSNR, pos)

      Si al menos dos de los tres PSNRs.POS están separados por unos 5 segundos, hay buenas posibilidades de que los videos se dupliquen y sepa cómo sincronizarlos: de modo que FirstVideo.pos [A, B o C] = MinPSNR [ A, B o C] .pos.

      En este punto, puede comenzar a comparar los fotogramas sincronizados uno por uno, buscando artefactos.

      La pregunta todavía es un poco vaga, pero hay varias formas de probar y comparar videos en busca de artefactos. También es significativamente más fácil si tienen la misma resolución, fps, etc.

      Si resta el fotograma [N] de un video del fotograma [N] del otro (es posible que deba cambiar la escala para tener en cuenta los valores negativos), el fotograma resultante debe estar cerca de cero en todos los píxeles. El mapeo de colores adecuado le permitirá reproducir el video resultante y los 'artefactos' se notarán con el color que indica la magnitud de la variación.

      Si su computadora puede manejarlo, trace los valores de píxeles de un video en un eje (eje x) y los valores de píxeles coincidentes en otro eje (eje y). Cuanto más se acerque la trama a la línea x = y, más similares serán los videos. En este caso, los artefactos aparecerán típicamente como desviaciones de la línea x = y de mayor magnitud que el 'ruido' que uno podría esperar de los videos que son similares pero no exactamente iguales. Entonces solo necesita encontrar los índices para las desviaciones por encima del umbral que estableció para definir 'artefactos'

      Similar al método 2 anterior. Los valores de píxeles se pueden comparar mediante correlación. Si la correlación se traza en dimensiones más altas, este método también proporcionará la ubicación de los artefactos.

      Existen varios métodos para transformar sus videos en matrices multidimensionales según las comparaciones que desee realizar.


      GIS: ¿Dónde están los idiomas?

      Pasamos mucho más tiempo debatiendo qué lenguaje de propósito general es mejor para SIG (C #, VB, Python, Java, etc.) que preguntando cómo deberían verse los lenguajes específicos de SIG. Observe cómo el compilador oculta la elección de idioma & # 8211 es un detalle de implementación. El trabajo del compilador es convertir expresiones de lenguaje formal legibles por humanos en lenguaje de máquina. Además de los lenguajes de propósito general como C #, VB.NET, etc., creo que GIS merece sus propios lenguajes. Claro, tenemos el lenguaje de comparación de formas, pero creo que hay margen de mejora. Debería ser posible escribir proveedores de codificación para cosas como rásteres, topologías y redes.

      Idiomas ráster

      Esri una vez admitió un producto llamado ArcGRID que permitía varias expresiones (DOCELL, IF y WHILE) que ya no son compatibles con Spatial Analyst. Esri podría escribir un proveedor CodeDOM que compilaría estas expresiones. De lo contrario, el mismo enfoque adoptado con la prueba de concepto podría adaptarse para trabajar con píxeles en lugar de IRows.

      Idiomas de topología

      Del mismo modo, la estación de trabajo ARC / INFO permitió encontrar fácilmente polilíneas donde se unen dos polígonos que tienen el mismo atributo & # 8211 simplemente configure dos RELATE basados ​​en LPOLY # y RPOLY # y RESELECT las polilíneas según la expresión donde los atributos izquierdo y derecho no están igual. En ArcMap, esto requiere un código tedioso. Parece que Esri podría escribir un proveedor de CodeDOM para permitir que las reglas de topología se utilicen como expresiones de búsqueda y no solo como aplicación de las reglas comerciales.

      Idiomas de la red

      Para redes geométricas, los solucionadores de traceflow personalizados son una herramienta muy poderosa. Imagine poder utilizar un lenguaje que facilite la construcción recursiva de árboles basados ​​en alguna lógica de conectividad de red. Atravesar la red con IForwardStar es demasiado tedioso. Se necesita un lenguaje más amigable. O un proveedor de codeDOM o un proveedor de LINQ IQueryable podría admitir lenguajes específicamente orientados al cruce de la red & # 8211 y haría cosas como ad hoc seguimiento personalizado más fácil.

      En otras palabras, si su idioma no se vuelve viral, no sobrevivirá. Con Stackexchange poniendo a tantos operadores diferentes en estrecho contacto entre sí, un nuevo lenguaje espacial parece tan inevitable como la próxima temporada de gripe.


      1 respuesta 1

      Creo que nunca obtendrás un resultado preciso. Pasé un tiempo investigando cómo hacer gráficos en 3D usando el contexto de lienzo 2d y encontré viable hacer mapeo de texturas con sombreado de gouraud mediante el cálculo de matrices y gradientes 2d apropiados:

      • Los polígonos sólidos son, por supuesto, fáciles
      • El relleno de Gouraud solo es posible en un componente (es decir, no puede tener un triángulo donde cada vértice sea un RGB arbitrario relleno con interpolación bilineal, pero puede hacer ese relleno usando, por ejemplo, tres tonos arbitrarios de un solo color)
      • El mapeo de texturas lineales se puede hacer usando recorte y dibujo de imágenes

      Implementaría mapeo de texturas con perspectiva correcta usando subdivisión de malla (como en PS1).

      Sin embargo encontré muchos problemas. por ejemplo, el dibujo de imágenes con una transformación matricial (necesaria para el mapeo de texturas) es bastante inexacto en Chrome y, en mi opinión, es imposible obtener un resultado con precisión de píxeles en general, no hay forma de desactivar el antialiasing al dibujar en un lienzo y esto significa que lo hará obtenga líneas transparentes visibles al subdividir en triángulos. También encontré que el renderizado multipass funciona muy mal en Chrome (probablemente debido a cómo se implementa el renderizado acelerado por hw).

      En general, este tipo de renderizado es sin duda un estrés para los navegadores web y aparentemente estos casos de uso (matrices extrañas, por ejemplo) no se prueban muy bien. Incluso pude hacer que Firefox fallara tanto que derribó todo el sistema X en mi Ubuntu.

      Puedes ver los resultados de mis esfuerzos aquí o como un video aquí. En mi opinión, seguramente es impresionante que esto se pueda hacer en un navegador sin usar extensiones 3D, pero no creo que los problemas actuales se solucionen en el futuro.

      De todos modos, la idea básica que se utiliza para dibujar una imagen de modo que las 4 esquinas terminen en una posición de píxeles específica es dibujar dos triángulos, cada uno de los cuales utilizará la interpolación bilineal.

      En el siguiente código, supongo que tiene una textura de objeto de imagen y 4 esquinas, cada una de las cuales es un objeto con campos x, y, u, v donde x, y son coordenadas de píxeles en el lienzo de destino y u, v son coordenadas de píxeles en la textura :

      Esas desagradables fórmulas extrañas para todas esas variables "delta" se utilizan para resolver dos sistemas lineales de tres ecuaciones en tres incógnitas utilizando el método de Cramer y el esquema de Sarrus para determinantes de 3x3.

      Más específicamente, buscamos los valores de a, b,. f para que se satisfagan las siguientes ecuaciones

      delta es el determinante de la matriz

      y por ejemplo delta_a es el determinante de la misma matriz cuando reemplaza la primera columna con x0, x1, x2. Con estos puedes calcular a = delta_a / delta.


      Línea de fondo:

      En las unidades magnéticas tradicionales, el software de borrado seguro probablemente borre sus datos correctamente, pero sin investigar un poco su modelo específico de disco duro, no puede estar 100% seguro. Con las unidades SSD / flash / híbridas, las cosas son aún menos confiables debido al uso de nivelación de desgaste. Si desea ser apropiadamente fanático del papel de aluminio, entonces debe desconfiar de cualquier unidad, a menos que haya instalado el firmware usted mismo, y triturarlo físicamente. Además, el uso de cifrado de disco completo agrega otra capa de protección, pero debe habilitarse desde el principio.


      2 respuestas 2

      Si está hablando de la vista previa, las barras negras solo aparecerán allí. Las barras negras SÓLO se agregan cuando se ve un video con la resolución incorrecta, para llenar el espacio. Deberá mirar su relación de aspecto original y exportarla SOLAMENTE a esa relación.

      EDITAR: Parece que necesita recortar el video: haga clic derecho en el clip en la barra inferior y seleccione "propiedades". Seleccione la pestaña "Diseño" y edite el Altura y Ancho valores. Luego, mueva el video con X y y. No toque Alpha. Presione el botón de reproducción verde para obtener una vista previa de su clip. Desea aumentar el zoom y mover el video hasta que las barras negras ya no aparezcan. SIN EMBARGO, en la pequeña vista previa, habrá barras en la parte superior e inferior que no aparecerán en la publicación. Espero que esto haya ayudado.


      Pelar las etiquetas

      Mientras un tribunal federal de California evalúa las demandas de dolphin safe, los expertos en mariscos sostenibles ofrecen orientación sobre cómo comprar atún enlatado que no solo sea seguro para los delfines, sino también ecológico y socialmente responsable.

      "La idea errónea es que si no está lastimando a los delfines, entonces debe estar bien", dice el experto en océanos y reconocido autor ambiental Carl Safina, quien encabezó una guía de mariscos sostenibles cuando trabajaba para la Sociedad Nacional Audubon en la década de 1990. “Pero la realidad es que es probable que esté dañando a otras especies no objetivo de manera importante, o simplemente agotando la especie. La inmensa mayoría de las poblaciones de atún están sobreexplotadas ".

      La compra de productos del mar sostenibles empuja a los minoristas a obtener productos ambientalmente responsables, lo que puede impulsar mejoras en toda la industria, dicen los científicos de Monterey Bay que participan en la guía para el consumidor de Seafood Watch del acuario.

      En el caso del atún enlatado, McDonald dice que es mejor leer en las etiquetas descripciones como "capturado con caña" (pescando un atún a la vez) y "capturado con troll" (pescado por un barco de movimiento lento que arrastra líneas de señuelo). "Cualquier otra cosa es menos sostenible", dice. “Estas pesquerías tienen un mejor control de lo que capturan. También hay una tasa de supervivencia más alta para las capturas incidentales que devuelven ".

      El grupo activista sin fines de lucro Greenpeace ha trabajado durante muchos años para sacar a la luz los problemas ambientales y de derechos humanos asociados con la pesca del atún, incluida la mortalidad de delfines, la captura incidental de tortugas marinas y tiburones en peligro de extinción, la servidumbre por deudas, la trata de personas y el trabajo forzoso. Teniendo en cuenta estos factores, Greenpeace evaluó las políticas y prácticas de abastecimiento de 20 marcas de atún enlatado y las publicó en una Guía de compra de atún.

      StarKist, Chicken of the Sea y Bumble Bee se encuentran entre las marcas con la clasificación más baja que aparecen en la guía. Las cuatro compañías de atún mejor calificadas fueron Wild Planet y American Tuna, que empataron en primer lugar, seguidas de Whole Foods y Ocean Naturals. Vendiendo solo pescado capturado con caña, American Tuna apoya la pesca y producción local y a pequeña escala en los EE. UU. Wild Planet obtiene atún capturado con caña y trol de pesquerías sostenibles en los EE. UU., Japón, Nueva Zelanda, España, Portugal y el archipiélago de Cabo Verde frente a la costa noroeste de África.

      Los compradores pagan una prima, hasta seis dólares la lata, por las marcas de atún ecológicas. El fundador de Wild Planet, Bill Carvalho, dice que el costo más alto es inevitable porque hay más mano de obra involucrada en la pesca sostenible. "No se puede hacer esto por 59 centavos la lata", dice. “El atún barato tiene un precio medioambiental astronómicamente alto. Están tirando especies en peligro de extinción por la borda ".

      Safina dice que tiende a evitar comer atún, con dos excepciones. La primera es si se contagia él mismo. “Estos peces son los animales más magníficos. Cuando matas a uno y lo conviertes en comida, es precioso ", dice. "Si lo maneja bien y lo usa como sashimi o lo pone a la parrilla y lo cocina bien, es simplemente fenomenal". En segundo lugar, si está atrapado por un poste. "Tengo la filosofía de que es bueno apoyar a los buenos actores", dice. "Incluso si los buenos actores están dentro de una mala pesca".

      Muchos consumidores ahora se quedan con la pregunta de qué hacer con todo el atún que almacenaron: las búsquedas en Google de recetas de atún enlatado se han disparado en un 300 por ciento. La escritora Jennie Dusheck no tiene planes de cocinar lasaña de atún, pasteles de pescado o cazuelas de fideos. Está disfrutando de su "indulgencia" con lechuga, pimiento rojo, apio y jugo de lima en un buen pan de masa madre.


      Ver el vídeo: Αντικειμενοστραφής Προγραμματισμός - Νέο Μεταβατικό Πρόγραμμα Σπουδών - Γ Λυκείου Πληροφορική