Вот идея.
Постройте каждую трубу в виде 2-го прямоугольника, на котором вы видите дефекты.
необходимо выполнить:
- выяснить, что означает Defect Location
- нужен ли угол?
library(tidyverse)
df <- mydata %>%
#give the pipe an id
mutate( id = 1 ) %>%
group_by( id ) %>%
#give each defect (by pipe) an id
mutate( defect_id = row_number() ) %>%
#not sure what to do woith defect location....
#to get it inside the pipe, i divide by 10... needs looking into!!
mutate( `Defect Location` = `Defect Location` / 10 ) %>%
gather("defect", "x", -Length, -Diameter, -`Defect Angle`, -id, -defect_id, -`Defect Location`)
ggplot( data = df ) +
#draw pipe as a 2D rectangle, height = pi * Diameter
geom_rect( aes( xmin = 0, xmax = Length, ymin = 0, ymax = pi * Diameter ), alpha = 0.1 ) +
#draw start-endpoint and lines with defects
geom_point( aes( x = x, y = `Defect Location`, group = as.character(defect_id) ), color = "red", size = 2 ) +
geom_line( aes( x = x, y = `Defect Location`, group = as.character(defect_id), colour = as.character(defect_id) ), color = "red", size = 2 ) +
#draw each pipe
facet_wrap( ~id, ncol = 1 )
Я думаю, что этот блог описывает необходимый процесс:
http://www.theserverlabs.com/blog/?p=435
Пожалуйста, проверьте и дайте мне знать, что вы думаете об этом.
Наш подход заключается в том, чтобы хранить каждый объект базы данных (таблицы, представления, функции, пакеты, sprocs и т. Д.) В своем собственном файле под контролем исходного кода и иметь сервер интеграции ( TeamCity , Hudson ] и т. д.) выполнять ночную сборку базы данных - из источника - куда она удаляет и воссоздает схему перед проверкой на ошибки компиляции в системной таблице user_errors
. Это позволяет узнать, когда кто-то внес ошибки компиляции в сборку.
Следующий шаг - использовать что-то вроде PLUTO , чтобы добавить модульные тесты в код PL / SQL и добавить их в задачу ночной сборки. Для нас это подразумевало наличие образцов тестовых наборов данных (также находящихся под контролем исходного кода), которые позволяют нам переводить базу данных в «известное состояние» для целей тестирования.
Я не нашел ничего, что могло бы нам сильно помочь с чем-либо из вышеперечисленного, так что это в основном набор задач Ant, пользовательских сценариев оболочки и мастера, которые в основном применяют необходимый DDL к пустой базе данных и используют DBMS_UTILITY.COMPILE_SCHEMA()
для ну, скомпилируйте схему. Позже вы можете добавить более причудливые вещи, такие как объекты обратной трассировки, которые не в состоянии скомпилировать или провалить тесты для конкретной отправки в системе управления версиями и выдать «виновную почту».
Мне было бы очень интересно узнать, есть ли у кого-то еще лучший подход или есть готовый продукт, который делает это для меня!