MyBox User Guide – Data Tools v6.5.9










MyBox: Easy Tools Set

User Guide – Data Tools





Author: Mara

Version: 6.5.9

Date: 2022-8-31


Contents

1 Introduction 6

1.1 Main Interface 6

1.2 Resources Addresses 7

1.3 Documents 8

1.4 Menu of Tools 8

2 Two-dimensional Data 9

2.1 Edit Data 9

2.1.1 Data Objects 9

2.1.2 Functions Menu 10

2.1.3 Define Columns 11

2.1.4 Define Attributes 12

2.1.5 "Table" Edit Mode 13

2.1.6 "Text" Edit Mode 13

2.1.7 View Html 14

2.1.8 View Text 14

2.1.9 Load Contents in System Clipboard 15

2.1.10 Import Examples 16

2.1.10.1 Statistic Data of China 16

2.1.10.2 Data of Regression 16

2.2 Row Expression 17

2.3 Row Filter 19

2.4 Modify 20

2.4.1 Set Values 20

2.4.2 Delete 21

2.4.3 Set styles / Mark Abnormal Values 22

2.4.4 Paste Content in System Clipboard 23

2.4.5 Paste Content in MyBox Clipboard 23

2.5 Trim 24

2.5.1 Copy/Filter/Query 24

2.5.2 Sort 25

2.5.3 Transpose 26

2.5.4 Normalization 27

2.6 Calculation 28

2.6.1 Row Expression 28

2.6.2 Descriptive Statistic 29

2.6.3 Group b Equal Values 30

2.6.4 Simple Linear Regression 33

2.6.4.1 Regression 33

2.6.4.2 Model 34

2.6.4.3 Fitted Chart 35

2.6.4.4 Residual Chart 36

2.6.5 Simple Linear Regression - Combination 37

2.6.6 Multiple Linear Regression 38

2.6.6.1 Regression 38

2.6.6.2 Model 39

2.6.7 Frequency Distributions 40

2.6.8 Values Percentage 41

2.7 Chart 42

2.7.1 XY Chart 42

2.7.1.1 Data 42

2.7.1.2 Bar Chart 43

2.7.1.3 Stacked Bar Chart 43

2.7.1.4 Line Chart 44

2.7.1.5 Scatter Chart 44

2.7.1.6 Bubble Chart 45

2.7.1.7 Area Chart 46

2.7.1.8 Stacked Area Chart 46

2.7.1.9 Parameters of Data in Chart 47

2.7.1.10 Layout 48

2.7.1.11 Category Axis 49

2.7.1.12 Number Axis 50

2.7.2 Pie Chart 51

2.7.3 Box-and-whisker Chart 52

2.7.4 Self Comparison Bars Chart 54

2.7.5 Comparison Bars Chart 56

2.8 Manage Data 58

2.9 Splice Data 59

2.10 Data File 60

2.10.1 CSV File 60

2.10.2 Text File 61

2.10.3 Excel File 62

2.10.4 Convert/Split Data Files in Batch 63

2.10.5 Merge Data Files 64

2.11 Data in System Clipboard 65

2.12 Data in MyBox Clipboard 66

2.13 Matrix 67

2.13.1 Edit and Manage Matrices 67

2.13.2 Unary Matrix Calculation 68

2.13.3 Binary Matrices Calculation 69

2.14 Database Tables 70

2.14.1 Manage Database Tables 70

2.14.2 Limitations of SQL Identifier 71

2.14.3 Database SQL 72

2.14.4 SQL Query 73

2.15 Export 74

2.16 Convert to Database Table 75

3 Calculation Tools 76

3.1 JShell(Java interactive coding tool) 76

3.2 JEXL(Java Expression Language) 78

3.3 Javascript 80

4 Data of Location 81

4.1 Data Constraints 81

4.1.1 Invalid Value 81

4.1.2 Coordinate System: 81

4.1.3 Coordinate Values 81

4.1.4 Time 81

4.1.4.1 Date Formats 81

4.1.4.2 Era 81

4.1.4.3 Examples 82

4.2 Data Operations 82

4.3 Map Data 83

4.4 Geography Code 85

4.4.1 Data Definition 85

4.4.2 Data Constraints 85

4.4.3 Edit Data 85

4.4.4 Define Condition 85

4.4.5 Import Data 85

4.4.5.1 Predefined Data 85

4.4.5.2 CSV Format 86

4.4.5.3 Data from geoname.org: 86

4.4.6 Settings 86

4.5 Location in Map 88

4.6 Location Data 89

4.6.1 Data Definition 89

4.6.2 Data constraints 89

4.6.3 Define Conditions 89

4.6.4 Map Data 89

4.6.5 Snapshots 90

4.6.6 Import Data 90

4.6.6.1 CSV Format 90

4.6.6.2 Data from movebank.org 90

4.6.6.3 Examples 90

4.7 Location Tools 92

4.8 Epidemic Reports 93

4.8.1 Data Definition 93

4.8.2 Data Constraints 93

4.8.3 Edit Data 93

4.8.4 Import Data 94

4.8.4.1 Predefined Data 94

4.8.4.2 CSV format: 94

4.8.4.3 COVID-19 historical data from Johns Hopkins University(Global) : 94

4.8.4.4 COVID-19 daily data from Johns Hopkins University(Global) : 94

4.8.4.5 Handle Data of Imported 94

4.8.5 Statistics Data 95

4.8.6 Define Conditions 95

4.8.7 Display Charts 95

4.8.8 Settings 96

5 Others 97

5.1 Create Barcodes 97

5.2 Decode Barcodes 97

5.3 Message Digest 97

5.4 Encode/Decode Base64 97

5.5 Extract ttf files from ttc file 97


1 Introduction

This is desktop application based on JavaFx to provide simple and easy functions. It's free and open sources.

1.1 Main Interface
















1.2 Resources Addresses


Contents

Link

Project Main Page

https://github.com/Mararsh/MyBox/

Source Codes and Compiled Packages

https://github.com/Mararsh/MyBox/releases

Submit Software Requirements and

Problem Reports

https://github.com/Mararsh/MyBox/issues

Data

https://github.com/Mararsh/MyBox_data

Documents

https://github.com/Mararsh/MyBox_documents

Mirror Site

https://sourceforge.net/projects/mara-mybox/files/

Cloud Storage

https://pan.baidu.com/s/1fWMRzym_jh075OCX0D8y8A#list/path=%2F












1.3 Documents



Name

Version

Time

English

Chinese

Development Logs

6.5.9

2022-8-31

html

html

Shortcuts

6.5.6

2022-6-11

html

html

Packing Steps

6.3.3

2020-9-27

html

html

Development Guide

2.1

2020-8-27

PDF

PDF

User Guide - Overview

6.5.9

2022-8-31

html PDF odt

html PDF odt

User Guide – Document Tools

6.5.9

2022-8-31

html PDF odt

html PDF odt

User Guide - Image Tools

6.5.9

2022-8-31

html PDF odt

html PDF odt

User Guide - File Tools

6.5.9

2022-8-31

html PDF odt

html PDF odt

User Guide - Network Tools

6.5.9

2022-8-31

html PDF odt

html PDF odt

User Guide - Data Tools

6.5.9

2022-8-31

html PDF odt

html PDF odt

User Guide - Media Tools

6.5.9

2022-8-31

html PDF odt

html PDF odt

User Guide - Development Tools

6.5.9

2022-8-31

html PDF odt

html PDF odt

1.4 Menu of Tools










2 Two-dimensional Data

2.1 Edit Data

2.1.1 Data Objects

  1. Following objects can be edited in consistent way:

  1. Data should be in same width. That is all rows have equal number of columns.

  2. Data are paginated. When pages number is larger than 1, changes should be saved before run some functions.

  3. When changed, * is displayed in tab header. And ** is displayed when modifications have not applied.

  4. Click button "Save" to write modifications to file and database:

  1. Click button "Recover" to discard all modifications and load data from file and database.




2.1.2 Functions Menu

Hover or click button “Functions” top pop Functions Menu.














































2.1.3 Define Columns

  1. Column names should not be null nor duplicated.

  2. Data types are used to validate data values:

  1. Click button "OK" to apply it modifications to "Table".

  2. Click button "Cancel" to discard its modifications and pick data from "Table".

  3. Can rename all columns with sequence numbers.

  4. Can set random colors.




































2.1.4 Define Attributes

Data name, decimal scale, and maximum value of random.










































2.1.5 "Table" Edit Mode

"Table" is the master edit mode:

    1. Its modifications are applied to other panes automatically.

    2. It is the final data to save.




2.1.6 "Text" Edit Mode

"Text" is the assist edit mode.

    1. Click button "OK" to apply its modifications to "Table".

    2. Click button "Cancel" to discard its modifications and pick data from "Table".

    3. Click button "Delimiter" to pick data from "Table" and apply new delimiter while its modifications are discarded.








2.1.7 View Html

  1. View data of current data.

  2. Options: Form, Title, Column Names, Row Numbers.






2.1.8 View Text

  1. View data of current data.

  2. Options: Form, Title, Column Names, Row Numbers.

  3. Set delimiter.
















2.1.9 Load Contents in System Clipboard

  1. Read and parse contents in system clipboard.

  2. Guess delimiter automatically.

  3. Delimiter can be chosen from special characters or inputted regular expression.

  4. First row can be set as column names.




























2.1.10 Import Examples

2.1.10.1 Statistic Data of China




2.1.10.2 Data of Regression












2.2 Row Expression

JavaScript expression can be data values when manufacture/trim/calculate data or generate chart:

  1. If the script is blank, then return empty string.

  2. Edit the script:

#{TableRowNumber}

#{DataRowNumber}

#{<column_name>}

#{<column_name>- }

  1. When MyBox evaluates the expression:

  1. Hover or click button “Examples” to paste example codes.

  2. Hover or click button “Histories” to paste codes in histories.




















  1. Examples:



expression

meaning

#{DataRowNumber} % 2 == 0

data row number is even

#{TableRowNumber} % 2 == 1

odd rows in current page

Math.abs(#{v1}) + Math.PI * Math.sqrt(#{v2})

calculation

'#{v1}'.replace(/hello/ig, 'Hello')

replace all “hello”(case-insensitive) as “Hello” in column “v1”

'#{v1}'.toLowerCase()

lower case of value of column “v1”

'#{v1}'.split(‘,’)

split value of column “v1” by comma

#{v1} - #{v1-Mean}

difference between value of column “v1” and mean of column “v1”





2.3 Row Filter

“Row Filter” is special “Row Expression”, and can be condition to filter data rows.

  1. It should return boolean value("true" or "false") finally.

  2. Can set maximum rows.





  1. Exmaples:

Expression

meaning

#{DataRowNumber} % 2 == 0

data row number is even

#{TableRowNumber} % 2 == 1

odd rows in current page

Math.abs(#{v1}) >= 0

value of column “v1” is number

#{v1}) > 0

value of column “v1” is larger than zero

#{v1} - #{v2} < 100

difference between values of “v1” and “v2” is less than 100

'#{v1}'.length > 0

value of column “v1” is not empty

'#{v1}'.search(/Hello/ig) >= 0

value of column “v1” includes “Hello”(case-insensitive)

'#{v1}'.startsWith(‘Hello’)

value of column “v1” starts with “Hello”

var array = [ ‘A’, ‘B’, ‘C’];array.includes(‘#{v1}’)

value of column “v1” is one of “A”, “B”, “C”

#{v1} < #{v1-Mean}

value of column “v1” is less than mean of column “v1”








2.4 Modify

2.4.1 Set Values

  1. Select data:

  1. Set values of selected data as following:

  1. If handle all pages of data file, then auto-backup before set values.



















2.4.2 Delete

  1. Select data:

  1. Option: Whether continue when error.

  2. If handle all pages of data file, then auto-backup before delete.






















2.4.3 Set styles / Mark Abnormal Values

  1. Add/Edit/Delete styles.

  2. Define conditions to determine which data cells to apply the style:

Notice, data of a row number may be changed when some rows are added or deleted.

Example, when insert 2 rows before "row 6", original "row 12" becomes "row 14" while current "row 12" was "row 10".

So "row number" is not right way to locate a specific data row while rows number is changing.

A way to refer sepcial rows is the expression composed of column values.

  1. Define style values:

  1. Define title and sequence number of the style.

  2. Set whether the style marks abnormal values.

  3. All styles are applied to the data one by one in order of their sequence number.












2.4.4 Paste Content in System Clipboard






2.4.5 Paste Content in MyBox Clipboard
















2.5 Trim

2.5.1 Copy/Filter/Query

  1. Select data:

  1. Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

  2. When rows are current page or selected ones, target can be defined location in table to insert/append/replace.
























2.5.2 Sort

  1. Select data:

  1. Calcuate:

  1. Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

  2. When rows are current page or selected ones, target can be defined location in table to insert/append/replace.






2.5.3 Transpose

  1. Select data:

  1. Calcuate: Options to set first column as column names.

  2. Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

  3. When rows are current page or selected ones, target can be defined location in table to insert/append/replace.


























2.5.4 Normalization

  1. Select data:

  1. Calcuate:

  1. Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

  2. When rows are current page or selected ones, target can be defined location in table to insert/append/replace.






2.6 Calculation

2.6.1 Row Expression

  1. Select data:

  1. Calcuate:

  1. Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

  2. When rows are current page or selected ones, target can be defined location in table to insert/append/replace.


















2.6.2 Descriptive Statistic

  1. Select data:

  1. Calcuate:

  1. Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table, or defined location in table to insert/append/replace.






2.6.3 Group b Equal Values

  1. Select data:

  1. Calcuate:








  1. Calculated groups and their aggregate values are displayed in XY chart.
































  1. Calculated groups and their count are displayed in Pie chart.








  1. In charts:

  1. Option to display all data in charts:

  1. Data overflow may happen.













2.6.4 Simple Linear Regression

2.6.4.1 Regression

This tool is based on Apache Commons Math.

The regression does not store data, so calculation itself has not memory limitation when handle lots of rows.

  1. Select data:

  1. Calcuate:

  1. Display values status of regression steps in table, including number of observations, slope, intercept, coefficient of determination(R-Square), correlation coefficient(R), mean of squared error(MSE) , sum of squared errors(SSE), total sum of squares(SSTO), sum of squares about regression(SSM/SSR), etc.








2.6.4.2 Model

  1. Display fitted liear model.

  2. Display data status of last regression step.

  3. Input value fo independent variable, and generate predicted value.




















2.6.4.3 Fitted Chart

  1. When handle all data rows(all pages), option to display all values in chart.

When display all values in chart, need concern memory limitation when load lots of data.

Or else only values in current page will be displayed in chart while all pages involve regression, and no memory limitation.

  1. Set parameters of plot, X axis and Y axis.

  2. Options to display fitted points, fitted line, or model description in chart.

  3. Options to display data labels.

  4. Set random colors to fitted points/line.

  5. Fitted chart can be popped.

  6. Html including fitted chart and its data can be created.

  7. Display fitted chart's data in table.








2.6.4.4 Residual Chart

  1. X axis can be set as: predicted value, independent varaible, or actual value.

  2. Option whether standardize residuals.

When standardize residuals, upper line and lower line of Sigma2(95%) will be displayed.

  1. Set random color to points and lines.

  2. Display residual chart's data in table.


















2.6.5 Simple Linear Regression - Combination

This tool helps to generate data of simple linear regression:

  1. Select some columns.

  2. Select options like decimal scale, alpha, whether include intercept.

  3. When click button "OK":

  1. Select one mode and click button "View" to view its regression data, fitting chart, and residual chart.






























2.6.6 Multiple Linear Regression

2.6.6.1 Regression

This tool helps to generate data of multiple linear regression based on Apache Commons Math:

  1. Select some column as independent variables, whose data should be numbers.

  2. Select a column as dependent variable, whose data should be numbers.

  3. Select whether include intercept.

  4. Click button "OK":












2.6.6.2 Model

User can input values of independent variables and predict value of dependent variable.
























2.6.7 Frequency Distributions

  1. Select data:

  1. Calcuate:

  1. Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.


























2.6.8 Values Percentage

  1. Select data:

  1. Calcuate:

  1. Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

  2. When rows are current page or selected ones, target can be defined location in table to insert/append/replace.










2.7 Chart

2.7.1 XY Chart

2.7.1.1 Data

  1. Select data:

  1. Calcuate:

  1. Select type of XY Chart.

  2. Click button “Menu” to set parameters of chart.

  3. Click button “Pop” to display current chart as image in popped window.

  4. Click button “Data” to display data of the chart in data table.

  5. Click button “Html” to display data of the chart in html page.




2.7.1.2 Bar Chart

  1. Represents data size with bars' heights.

  2. "Category" column is always counted as strings.




2.7.1.3 Stacked Bar Chart

  1. Represents data size with bars' heights.

  2. "Category" column is always counted as strings.










2.7.1.4 Line Chart

  1. Represents data trend with lines connecting points.

  2. "Category" column can be counted as strings or numbers.




2.7.1.5 Scatter Chart

  1. Represents data distribution with symbols.

  2. "Category" column can be counted as strings or numbers.










2.7.1.6 Bubble Chart

  1. Represents data size with circles of different radius

  2. "Category Column" and "Value Column" define coordinates of data.

  3. Select several columns as "Size Columns" to defines data size.

  4. All columns should be numbers. Size columns should be non-negative.






















2.7.1.7 Area Chart

  1. Represents data size with area size.

  2. "Category" column is always counted as strings.





2.7.1.8 Stacked Area Chart

  1. Represents data size with area size.

  2. "Category" column is always counted as strings.










2.7.1.9 Parameters of Data in Chart

  1. Options about label: not display, point, value, category, etc.

  2. Location of labels.

  3. Font size of labels.

  4. Decimal scale.




























2.7.1.10 Layout

Set parameters of plot: title, font size, location of legend, zero-lines, grid lines, line width, etc.






























2.7.1.11 Category Axis

Set parameters of category axis: label, font size, location, tick, count values as string or number, coordinate, etc.




























2.7.1.12 Number Axis

Set parameters of number axis: label, font, location, tick, coordinate, etc.






























2.7.2 Pie Chart

  1. Select data:

  1. Calcuate:

  1. Click button “Menu” to set parameters of chart.

  2. Click button “Pop” to display current chart as image in popped window.

  3. Click button “Data” to display data of the chart in data table.

  4. Click button “Html” to display data of the chart in html page.










2.7.3 Box-and-whisker Chart

  1. Box-and-whisker chart represents data distribution:

Minimum Q0 = in 0%(start) of the data list

Lower quartile Q1 = in 25% of the data list

Median Q2 = in 50%(middle) of the data list

Upper quartile Q3 = in 75% of the data list

Maximum Q4 = in 100%(end) of the data list

Lower extreme outlier line E1 = Q1 - 3 * ( Q3 - Q1 )

Lower mild outlier line E2 = Q1 - 1.5 * ( Q3 - Q1 )

Upper mild outlier line E3 = Q3 + 1.5 * ( Q3 - Q1 )

Upper extreme outlier line E4 = Q3 + 3 * ( Q3 - Q1 )

Mean = avarage of the data list

  1. Calcuate:

  1. Set or select:

  1. Click button “Menu” to set parameters of chart.

  2. Click button “Pop” to display current chart as image in popped window.

  3. Click button “Data” to display data of the chart in data table.

  4. Click button “Html” to display data of the chart in html page.




















































2.7.4 Self Comparison Bars Chart

  1. Self comparison bars show difference between data and reference values.

Bars are calculated by following rulers:

maximum_value = maximum_absolute_value_of_column/row/all

precentage = absolute_value / maximum_value

width = maximum_width * precentage

color = If value is larger than zero, color_of_column.

If value is less than zero, inverted_color_of_column

maximum_value = maximum_value_of_column/row/all

minimum_value = minimum_value_of_column/row/all

precentage = (value - minimum_value) / (maximum_value - minimum_value)

width = maximum_width * precentage

color = color_of_column

  1. Data: Select rows in table or select all data rows(all pages), and select columns.

  2. Calcuate:

  1. Set or select:

  1. Edit data in chart.

  2. Edit html of chart.
























































2.7.5 Comparison Bars Chart

  1. Comparison bars show difference between two series of data.

Bars are calculated by following rulers:

maximum_value = maximum_absolute_value_of_value_columns

precentage = absolute_value / maximum_value

width = maximum_width * precentage

color = If value is larger than zero, color_of_column.

If value is less than zero, inverted_color_of_column

maximum_value = maximum_value_of_value_columns

minimum_value = minimum_value_of_value_columns

precentage = (value - minimum_value) / (maximum_value - minimum_value)

width = maximum_width * precentage

color = color_of_column

  1. Data: Select rows in table or select all data rows(all pages), and select columns.

  2. Calcuate:

  1. Set or select:

  1. Edit data in chart.

  2. Edit html of chart.














































2.8 Manage Data

This tool manages following objects:

  1. Data Files

  1. Data Clipboards

  1. Matrices

  1. Data Tables






2.9 Splice Data

  1. Select or open two data.

  2. Select rows and columns from the two data:

  1. Options:

  1. Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.
















2.10 Data File

2.10.1 CSV File

  1. When file is loaded abnormally, change options and click Refresh button.

  2. Options: charset, whether has first line as field names, and delimiter of data.


























2.10.2 Text File

  1. When file is loaded abnormally, change options and click Refresh button.

  2. Options: charset, whether has first line as field names, and delimiter of data.




























2.10.3 Excel File

  1. Options include sheet number and whether has first line as field names.

  2. Add/Delete/Rename sheets.

  3. Tool can only handle base data in Excel file. If file includes format, style, formula, or chart, suggest to save changes as new file to avoid data loss.
























2.10.4 Convert/Split Data Files in Batch

  1. Source files' formats can be csv, excel, and text. Options of source files can be set.

  2. Target files' formats include csv, text, excel, xml, json, html, pdf. Options of target files can be set.

  3. Split files as maximum lines.


































2.10.5 Merge Data Files

  1. Set source format.

  2. Set target format.






































2.11 Data in System Clipboard

  1. Read and parse contents in system clipboard.

  2. Delimiter can be chosen from special characters or inputted regular expression.

  3. First row can be set as column names.
































2.12 Data in MyBox Clipboard








































2.13 Matrix

2.13.1 Edit and Manage Matrices

  1. Edit matrix.

  2. Matrix can be saved and reused.




































2.13.2 Unary Matrix Calculation

Transpose, Row Echelon Form, Reduced Row Echelon Form, Determinant By Elimination, Determinant By Complement Minor, Inverse Matrix By Elimination, Inverse Matrix By Adjoint, Matrix Rank, Adjoint Matrix, Complement Minor, Normalize, Multiply Number, Divide By Number, Power.








































2.13.3 Binary Matrices Calculation

Plus, Minus, Hadamard Product, Kronecker Product, Horizontally Merge, Vertically Merge.






































2.14 Database Tables

2.14.1 Manage Database Tables

  1. View table definition.

  2. Execute SQL.






























2.14.2 Limitations of SQL Identifier

  1. Table name and column names should satisfy "Limitations of SQL identifier":

Example, AbC is same as abc and aBC.

Example, "AbC" is different from AbC or "ABC" while "ABC" is same as ABC and abc.

  1. After database table is created:

  1. When MyBox create name of table/column:




2.14.3 Database SQL

  1. Provide examples of SQL statements.

  2. List names of all user tables automatically.

  3. View table definitions of all user tables.

  4. Display outputs of execution and results of query.

  5. SQL codes can be organized as information of tree.

  6. Can load or save as external files.




















2.14.4 SQL Query

Database table has a special function menu: “Functions” - “Trim” - “Query”, which can help to input and execute SQL query:

  1. Names of table and columns are listed in left.

  2. Provide examples and record histories.



















2.15 Export

  1. Select data:

  2. Select targets and their formats: csv, texts, excel, xml, json, html, pdf, MyBox Clipboard.

  3. Split files in maximum lines.




























2.16 Convert to Database Table

  1. Select data:

  2. Create auto-increment column, or select some columns as primary key.

  3. Option to import data.


































3 Calculation Tools

3.1 JShell(Java interactive coding tool)

JShell is one of tools in JDK:

  1. JShell provides capability to interactively evaluate "snippets", as Read-Eval-Print Loop (REPL).

  2. "Snippet" is a single expression, statement, or declaration of Java programming language code:

  1. Extrenal Java classes should be accessible:

  1. JShell can be used for scientific computation and Java codes debug.



This tool helps to run JShell in GUI:

  1. Input several snippets and click button "Start" to run them:

  2. Snippets are evaluated one by one.

  3. Results of snippets will affect later snippets, like "an execution environment".

  4. Attributes of all evaluated snippets will be shown in a table.

  5. Click button "Delete" or "Clear" to drop some or all snippets from current environment.

  6. Click button "Reset" to empty JShell and environment becomes blank.

  7. Press "CTRL+1" to pop list of code completion suggestions.

  8. If added MyBox class paths, all methods of MyBox can be referred.

  9. JShell codes are organized in tree. Examples are provided.


























































3.2 JEXL(Java Expression Language)

JEXL(Java Expression Language) is a library to generate values dynamically with variables and scripts.

  1. JEXL has different syntax from Java. It is more like javascript.

  2. Before run expression/script, all variables in it should have values held by JexlContext.

  3. Refer to Java classes by creating their instances as local variables. Full package name is required.

  4. JEXL can be used for scientific computation and data manufacture.



This tool helps to run JEXL in GUI:

  1. Input JEXL expression/script.

Notice: Use single quotes instead of double quotes to surround strings.

  1. Input Java codes of setting JexlContext like following:

jexlContext.set("name", value);

Example, set following to use Math.PI in expression/script:

jexlContext.set("Math", Math.class);

  1. Input parameters of JEXL script if any. Separate values by comma.

  2. Click button "Start" to evaluate the expression/script.

  3. MyBox does following in JShell enrionment automatically:

  1. If all variables and paramters have valid values, result is shown in right pane.

  2. JEXL codes are organized in tree. Examples are provided.
































































3.3 Javascript

This tool helps to edit, run, save Javascript codes.

Javascript codes are organized in tree. Examples are provided.




























4 Data of Location

4.1 Data Constraints

4.1.1 Invalid Value

  1. Null value of integer/long/short is the minimum value(MIN_VALUE)

  2. Null value of double is the maximum value(Double.MAX_VALUE)

4.1.2 Coordinate System:

  1. CGCS2000(China Geodetic Coordinate System), real locations and approximate to WGS-84(GPS).

  2. GCJ-02(China encrypted coordinate), encrypted data with offsets of real locations.

  3. WGS-84(GPS), real locations.

  4. BD-09(Baidu encryted coordinate), based on GCJ-02.

  5. Mapbar coordinate, based on GCJ-02.

  6. When coordinate is unknown or invalid, the default value is CGCS2000.

4.1.3 Coordinate Values

  1. Decimal values of longitude and latitude, instead of Degrees Minutes Seconds(DMS), are used when data handled.

  2. MyBox provides "Location Tools" to convert coordinate values between decimal and DMS.

  3. Valid range of longitude is `-180~180`, and valid range of latitude is `-90~90`.

4.1.4 Time

4.1.4.1 Date Formats

4.1.4.2 Era

"0 AD" = "1 BC" = "0" = "-0" = "0000" = "-0000" = "0001-01-01 00:00:00 BC" = "公元前1" = "公元前0001-01-01 00:00:00"

"1 AD" = "1" = "0001" = "0001-01-01 00:00:00" = "0001-01-01 00:00:00 AD" = "公元1" = "公元0001-01-01 00:00:00"

"202 BC" = "-203" = "-0203" = "-0203-01-01 00:00:00" = "0202-01-01 00:00:00 BC" = "公元前202" = "公元前0202-01-01 00:00:00"

"202 AD" = "202" = "0202" = "0202-01-01 00:00:00" = "0202-01-01 00:00:00 AD" = "公元202" = "公元0202-01-01 00:00:00"

4.1.4.3 Examples

2020-07-13 11:30:59

-2020-07-13 11:30:59

-581-01-23

960

公元960

公元前770-12-11

公元前1046-03-10 10:10:10

202 BC

960-01-23 AD

1046-03-10 10:10:10 BC

4.2 Data Operations

  1. Add/Delete/Edit/Copy/Clear/Refresh data.

  2. Query data:

  1. Import data in csv format:

  1. Export data:

  1. Delete/Clear data:

  1. Define, manage, and use "Conditions":

4.3 Map Data

  1. Kinds of data can be presented in map, including Geography Codes, Location Data, and Coordinate Querying.

  2. Data in map can be:

  1. TianDiTu:

  1. GaoDe Map:

  1. Adjust map level by:

  1. Marker image:

  1. Marker text

  1. Pop information:

  1. Snapshot:

  1. Keys of map can be changed in "Settings". The default keys are free and shared by all MyBox users.

4.4 Geography Code

4.4.1 Data Definition

  1. Basical attributes: id, level, longitude, latitude, chinese_name, english_name, 5 codes, 5 aliases,

  2. Subordinate: owner, continent, country, province, city, county, town, village, building. ("Ancestors")

  3. Auxiliary attributes: altitute, precision, coordinate system, area(square meters), population, comments, isPredefined.

4.4.2 Data Constraints

  1. Not null values: id, level, chinese_name or english_name.

  2. Values of "level": global(only "Earth"), continent, country, province(state), city, county(district), town, village(neighborhood), building, point of interest.

  3. Data is unnecessary to be subordinated level by level. Cross-over can happen. Example, a village is subordinated to Antarctica, and a city belongs to a country without province level.

  4. Match data:

4.4.3 Edit Data

  1. "subordinate" of data is set by selecting node in locations tree.

  2. "level" of data should be lower than its ancestors.

  3. Data must have either chinese_name or english_name.

  4. Select or display coordinate in map.

  5. Set as "Predefined data" or "Inputted data" against selected rows.

4.4.4 Define Condition

All geograhy codes in MyBox are organized as a Locations Tree by their subordination relationship. Multiple nodes can be selected.

4.4.5 Import Data

4.4.5.1 Predefined Data

Include continents, countries, Chinese provinces /cities /counties.

Countries have values of "area" and "population".

4.4.5.2 CSV Format

https://github.com/Mararsh/MyBox_data/tree/master/md/GeographyCode/en

Level,Longitude,Latitude

And "Chinese Name" or "English Name"

Altitude,Precision,Coordinate System,Square Kilometers,Population,

Code 1,Code 2,Code 3,Code 4,Code 5,Alias 1,Alias 2,Alias 3,Alias 4,Alias 5,

Continent,Country,Province,City,County,Town,Village,Building,Comments

4.4.5.3 Data from geoname.org:

http://download.geonames.org/export/zip/

countryCode postalCode placeName

adminName1 adminCode1 adminName2 adminCode2 adminName3 adminCode3

latitude longitude accuracy

4.4.6 Settings

  1. Customize colors of data rows.

  2. Provide "Default" and "Random" buttons.










































4.5 Location in Map

  1. Query geography code by:

  1. Query result can be saved in Geography Code table.
















4.6 Location Data

4.6.1 Data Definition

  1. Basical attributes: data set, label, longitude, latitude, start time, end time.

  2. Auxiliary attributes: altitute, precision, coordinate system, speed, direction, data value, data size, image, comments.

4.6.2 Data constraints

  1. Each location data belongs to a data set.

  2. Data set defines common attributes of some location data, examples:

These attributes help to distinguish data points in map.

4.6.3 Define Conditions

  1. List of data sets. Multiple nodes can be selected.

  2. Time tree(Start time). Multiple nodes can be selected.

4.6.4 Map Data

  1. At beginning, the first data is made as map center.

  2. Location Distribution: All data are displayed in map.

  3. Time Sequence:

4.6.5 Snapshots

4.6.6 Import Data

If data include a dataset which is not in database, the new dataset will be added in database automatically.

4.6.6.1 CSV Format

4.6.6.2 Data from movebank.org

https://www.datarepository.movebank.org/

4.6.6.3 Examples

  1. Chinese Historical Capitals

  2. Autumn movement patterns of European Gadwalls

  3. Sperm whales Gulf of Mexico




























































4.7 Location Tools

  1. Convert coordinate value between decimal and DMS. Valid examples of DMS:

48°51'12.28"

-77° 3' 43.9308"

48°51'12.28"N

2°20'55.68"E

S 34° 36' 13.4028"

W 58° 22' 53.7348"

1184854.152

-320410.461

东经1184854.152

北纬320410.461

西经1184854.152

南纬320410.461

  1. Convert coordinate values as other coordinate systems.








4.8 Epidemic Reports

4.8.1 Data Definition

  1. Basical attributes: dataSet, time, location, source.

  2. Basical values: confirmed, healed, dead.

  3. Subtraction statistic: increased confirmed, increased healed, increased dead.

    Calculated by adjacent rows.

  4. Division statistics:

  1. Accumulation statistics:

4.8.2 Data Constraints

  1. Not null values: dataSet, time, location

  2. Values of "source": "Inputted data", "Predefined data", "Filled data", "Statistics data".

  3. "location" is foreign key of "Geography Code", which must have row defined in that table.

  4. In "confirm", "healed", "dead", at least one should be larger than zero.

  5. One of following can determine a data row:

4.8.3 Edit Data

  1. When in single data, location is set by selecting node from locations tree.

  2. In interface of "Epidemic Reports of Chinese Provinces" or "Epidemic Reports of Countries", multiple rows can be inputted for same dataSet and time.

  3. Modify values of "source" for selected data rows.

4.8.4 Import Data

4.8.4.1 Predefined Data

COVID-19 historical data from Johns Hopkins University.(Till 2020-09-24)

4.8.4.2 CSV format:

https://github.com/Mararsh/MyBox_data/tree/master/md/COVID19/en

4.8.4.3 COVID-19 historical data from Johns Hopkins University(Global) :

https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_time_series

4.8.4.4 COVID-19 daily data from Johns Hopkins University(Global) :

https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_daily_reports

Province/State,Country/Region,Last Update,Confirmed,Deaths,Recovered

Following is format of "05-15-2020.csv":

FIPS,Admin2, Province_State,Country_Region, Last_Update,Lat,Long_,

Confirmed, Deaths, Recovered,Active, Combined_Key

4.8.4.5 Handle Data of Imported

  1. Option: Statistics against dataset.

  2. Time of all data are changed as “23:59:00”.

  3. If data include a geography code which is not in database, the new geography code will be added in database automatically.

4.8.5 Statistics Data

  1. Option to accumulate date

  2. Option to calculate subtraction statistic for different location levels.

4.8.6 Define Conditions

  1. Data Sources Tree: Data sets and their different sources are organized a tree. Multiple nodes can be selected.

  2. Locations Tree: All geograhy codes in MyBox are organized as a tree by their subordination relationship. Multiple nodes can be selected.

  3. Times Tree: All times involved in Epidemic Reports of MyBox are organized as a tree. Multiple nodes can be selected.

  4. Number of Top Data in Each Day:

  1. Edit condition: title, where, order by, fetch, "Number of Top Data in Each Day"(0 or -1 means Unlimit), which are combined together as the final condition.

4.8.7 Display Charts

  1. Only when query condition satisfies requirements, charts are displayed. Charts' data are always "Daily top data" and have "Major query attribute".

  2. Beside "Major query attribute" , more attribues can be selected, to display multiple dimension data in same chart, or show multiple charts at same time.

  3. Chart type: horizontal bars, vertical bars, horizontal lines, vertical lines, pie, map.

  4. When there are multiple times in datacharts are animated. Data charts of each time are displayed frame by frame in time ascending.

  5. For animated charts, support Pause/Continue, Jump to frame of a time, Last frame, Next frame, setting interval.

  6. Common settings, which take effect immediately

  1. Snap chart.

4.8.8 Settings

  1. Snap dpi, maximum width of snapped animated images, time to loading chart's data.

    These parameters are related to memory usage and computer's calculation capacity.

  2. Customize colors of data rows as column "source". Provide "Default" and "Random" buttons.

  3. Customize colors of data values in charts. Provide "Default" and "Random" buttons.

  4. Customize colors of location values in charts. Provide "Random" buttons.








5 Others

5.1 Create Barcodes

  1. Supported 1-d barcodes:

  1. Supported 2-d barcodes:

  1. Examples of parameters and suggested values.

  2. Validate generated barcode at once.

5.2 Decode Barcodes

  1. Supported 1-d barcodes: Code39, Code128, Interleaved2Of5, ITF_14, EAN13, EAN8, EAN_128, UPCA, UPCE

  2. Supported 2-d barcodes: QR_Code, PDF_417, DataMatrix

  3. Display contents of barcodes and its meta data including barcode type and error correction level if any.

5.3 Message Digest

  1. Create digest for files or inputted texts.

  2. Support MD2, MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512/224, SHA-512/256, SHA3-224, SHA3-256, SHA3-384, SHA3-512.

  3. Ouput: Base64, Hexadecimal, Formatted hexadecimal.

5.4 Encode/Decode Base64

  1. Encode file or texts as Base64.

  2. Decode Base64 file or Base64 texts.

  3. Set charset for texts.

  4. Output as file or texts.

5.5 Extract ttf files from ttc file



<End of Document>

Page 1 / Total 97