Power tips http://forums.visokio.com/categories/power-tips/feed.rss Mon, 30 Oct 17 11:33:43 -0400 Power tips en-CA Security: SSL Certificate Error - Use your trusted certificate http://forums.visokio.com/discussion/1365/security-ssl-certificate-error-use-your-trusted-certificate Wed, 07 Mar 2012 06:47:47 -0500 antonio 1365@/discussions "Server SSL error
The server you are connecting to does not have a valid certificate from an authorised authority".

This happens if the server certificate is not issued by certification authority, and it is self signed or issued by a private CMS.

If you trust the server, you can add the server certificate to your trusted Java key store, and allow Omniscope to use it as trusted and verified certificate.

The cause of the problem and solution are both well explained in this article.

Here are the steps to allow Omniscope to recognise and use your server certificate:

  1. Use InstallCert tool
    - Get the InstallCert.java file from http://code.google.com/p/java-use-examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java
    - Compile the file using the "javac" command:
    javac InstallCert.java

  2. Add your server certificate
    - Run InstallCert, with the server hostname and https port (if available), then press “1” when ask for input:
    java InstallCert myserver.com:8080
    - Check the process has finished and generated a file named “jssecacerts“ in the same folder you run the InstallCert tool.

  3. Launch Omniscope with JVM parameter
    - See "Additional JVM arguments" here http://www.visokio.com/kb/installconfig .
    - Update your installconfig.properties file to have the following line:
    ADDITIONAL_JVM_ARGS=-Djavax.net.ssl.trustStore=c:\yourFolder\jssecacerts
    - Start Omniscope.

For the sake of simplicity, please find attached a zip file with the 2 InstallCert tool classes already compiled and ready to run.]]>
GIS: Importing from Esri ArcGIS Online http://forums.visokio.com/discussion/2637/gis-importing-from-esri-arcgis-online Mon, 07 Jul 2014 11:11:18 -0400 richard 2637@/discussions
The following example assumes that you already have an ArcGIS Online account with at least one feature layer configured. You can sign up for an account by clicking on "Esri account help" in the DataManager block noted below and following the link.

INSTRUCTIONS
  1. Create a new file in Omniscope and go to DataManager.
  2. Under "Feeds", drag on a new 'ArcGIS feature layers' block.
  3. Enter your ArcGIS Online username and password then click connect
  4. Configure the search criteria then click 'Search' to find relevant Feature Services.
    image

  5. Choose one or more Feature Services then select the layers you would like to import into Omniscope.
    image

  6. Load the data into Omniscope then drag a Map View into Omniscope to see the postcode areas.
    image
]]>
Email Output: Embed Omniscope visualisation in your email text http://forums.visokio.com/discussion/3145/email-output-embed-omniscope-visualisation-in-your-email-text Thu, 23 Jun 2016 13:04:39 -0400 paola 3145@/discussions - Configure the Email output block (sender + recipient details)
- Email output > External attachments tab > Browse to the image location
- Email output >Data tab> tick “Add dynamic content” > Edit > Edit HTML source (button “<>” ) and copy/paste:
<html>
<head></head>
<body>
<p style="margin-top: 0">
<img src="cid:MyImage.png">
</p>
</body>
</html>

- Email Output > Publish
image

Result:
image]]>
Mapping: GIS Resources for Omniscope Map View - importing shapefiles/overlays http://forums.visokio.com/discussion/3094/mapping-gis-resources-for-omniscope-map-view-importing-shapefilesoverlays Fri, 12 Feb 2016 10:30:49 -0500 daniel 3094@/discussions
UK specific
- Ordnance Survey Open Data BoundaryLine administrative low level (high quality): https://www.ordnancesurvey.co.uk/business-and-government/products/boundary-line.html
- Edina for admin/political/nhs boundaries: https://census.edina.ac.uk/bds.html

Worldwide
- Openstreetmap: http://wiki.openstreetmap.org/wiki/Shapefiles#Download_shapefiles

ArcGIS:
http://forums.visokio.com/discussion/2637
The ArcGIS API will have some of those boundaries that can be accessed with a free public account you just have to sign up for a trial to get some login information for the software. Also every year ArcGIS provides a couple of online MOOCs where you can get some extra help regarding their products.


To get these into Omniscope you need to
1) Convert OSGB shapefiles into WGS version shapefile/kml - import/load up your shapefile into your GIS package of choice and set the current projection to OSGB, then go into the save as/export options and change the resulting output into WGS projection.
I would suggest you save as .kmls as they appear to be the leanest option.


2) Generalise/clip the shapefiles to reduce the load time (also reduces accuracy), load up the shapefile in you GIS package, find the generalisation options either inbuilt in some packages i.e. model builder with spatial analyst for ArcGIS or install plugins for GrassGIS/QGIS like generalizer/simplify. Just google how to use each package for tutorials/videos on GIS users who use them.

https://plugins.qgis.org/plugins/generalizer/
https://plugins.qgis.org/plugins/simplipy/

Other options would be to use programming/scripting like in R or Python to do the same generalisation with their own specific libraries but I find the GIS packages will be far quicker to process them.

Unfortunately there is only so much you can generalise/simplify, every iteration of this will erode the quality and accuracy of your boundaries so you have to make the call on how much you want it to simplify to and just do it by trial and error. Including a shapefile in Omniscope significantly bumps up the size of the total Omniscope iok file and affects the loading time and the amount of RAM your machine will also determine what loads.]]>
Functions: Interactive format to explore and find Omniscope functions http://forums.visokio.com/discussion/3093/functions-interactive-format-to-explore-and-find-omniscope-functions Wed, 10 Feb 2016 11:12:10 -0500 paola 3093@/discussions
Use filtering, selection and search box to browse through functions organised in different categories. There are also functions that fall into two or more categories – grey cells in the Tile view.
Take few minutes to look at different text-processing, geographical, data or date transformation functions – you are guaranteed to find something that will make your life easier!

Open the file in a browser:
https://omniscope.me/FunctionsWEB.iok/

image]]>
Example: Scheduler Log files visualised (template attached) http://forums.visokio.com/discussion/3057/example-scheduler-log-files-visualised-template-attached Wed, 09 Dec 2015 12:47:27 -0500 paola 3057@/discussions
Save the .iok file below and replace the sources with your own service_scheduler_task_event_log.csv, located in the Scheduler Log folder.
You can monitor total number of executed actions per day, or isolate the reports that need attention, because they generate warnings/errors.

image
image]]>
Dynamic Title: text to reflect the selection http://forums.visokio.com/discussion/3052/dynamic-title-text-to-reflect-the-selection Mon, 07 Dec 2015 09:00:22 -0500 Phillipa 3052@/discussions
I am working on dashboards that go to a client and would like to add a dynamic Title that reflects the chosen stack.

The only way I know to get dynamic text is to use the content view and a formula.
However, I cannot find an option that will allow me to show which stack is showing. Specifically I want to give the customer the option of choosing between 2 stacks and the title to the chart should change according to which stack is chosen ( in this case the performance indicator ECOG & Karnofsky Index).

Is there a way to do this?

Thanks for any help
Phillipa]]>
Printing: PDF Export from Linux OS without a GUI http://forums.visokio.com/discussion/2617/printing-pdf-export-from-linux-os-without-a-gui Fri, 27 Jun 2014 11:51:04 -0400 donald 2617@/discussions printing and PDF download from mobile Server installations when running on Linux OS without a GUI. You might experience printing Mobile reports with "black images".
Please follow these instructions to workaround this issue.

MAIN SOLUTION (should work across different Linux distributions; tested on CentOS and Ubuntu 14.04): Use XVFB

You need to install these additional packages on your headless Linux machine: xvfb, libxss1
On Ubuntu Server 14.04 you also need dbus-x11 libnss3 libgconf2-4 libfontconfig libpangocairo-1.0-0 libXcomposite1 libasound2 libxtst6 libcupsmime1 libgtk2.0-0
sudo apt-get install xvfb libxss1 ...


Then you just need to start Omniscope Server through this command:
xvfb-run -a --server-args='-screen 0, 1024x768x24' ./omniscope-server-headless.sh


If this command fails, run xvfb-run with "-e /dev/stdout" option to see the error messages in the console.
e.g. in case of Font error you may need to install these additional packages:
sudo apt-get install -y xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

If you are running the Omniscope Server through Upstart background service, in the visokio-omniscope server installation directory modify the _launch.sh file (last line) from:
"$JAVA_CMD" $JAVA_VM_PARS $ADD_VM_PARS -cp "$JAVA_CP" "$@"
to
xvfb-run --server-args='-screen 0, 1024x768x24' "$JAVA_CMD" $JAVA_VM_PARS $ADD_VM_PARS -cp "$JAVA_CP" "$@"

Then start the service as usual as per instructions http://www.visokio.com/kb/linux-installs
N.B. xvfb-run seems not compatible with privbind. So if you are using privbind to bind to reserved port (e.g. 80) you need to use an alternative solution: e.g. setting up Linux IPTABLES to redirect port 80 to Omniscope port 8080 see here for reference https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#REDIRECTTARGET

]]>
Upgrading to Windows 10 http://forums.visokio.com/discussion/2982/upgrading-to-windows-10 Mon, 10 Aug 2015 07:03:27 -0400 aknotts 2982@/discussions
Thanks

Andy]]>
Google Adwords - Importing their CSV output into Omniscope http://forums.visokio.com/discussion/2951/google-adwords-importing-their-csv-output-into-omniscope Mon, 08 Jun 2015 06:50:51 -0400 daniel 2951@/discussions
The csvs won't load just by dragging and loading in the DataManager space and results in the data coming out with weird symbols. This is because the csvs follow a different set of encoding, you will have to amend this by selecting "UTF-16LE" and change the separator value to "\t". Also make sure to set the Header row accordingly (should be 6, this may vary).

See image below for what the configuration looks like, you can use the "Batch Append File" too but do check to make sure that the header rows are always on the same row number for each file.

image

]]>
Reading a JSON resource inside formulas http://forums.visokio.com/discussion/2961/reading-a-json-resource-inside-formulas Wed, 24 Jun 2015 09:20:54 -0400 steve 2961@/discussions
Example JSON URL:
https://raw.githubusercontent.com/codemirror/CodeMirror/master/package.json

Solution:
SCRIPT(`
JSON.parse(
formula(
'READRES("https://github.com/codemirror/CodeMirror/raw/master/package.json")'
)
).name
`)


In this I'm extracting just the 'name' property, but you could use any JS processing to extract and reformat more properties.]]>
Setting up R for Omniscope 2.9 http://forums.visokio.com/discussion/2946/setting-up-r-for-omniscope-2.9 Mon, 01 Jun 2015 09:30:43 -0400 glen 2946@/discussions
Installing R is a simple process, but is required for use within Omniscope. This Forum post details how the user does this by completing the following simple steps.

  1. Select the link below which corresponds to your current operating system to install R. The process is similar to installing a normal piece of software. It is particularly important to note where R has been installed (the R binary path) if the default location is not used.

    http://cran.r-project.org/bin/windows/base/

    http://cran.r-project.org/bin/linux/

    http://cran.r-project.org/bin/macosx/

    Each of these links also has helpers for installing R in each of the operating systems.
  2. Now the R binary path needs to be configured in Omniscope. This is done by selecting:

    Data > R statistics > R settings…

    image

    This will open the following window:

    image

    The default location for R is already entered into the R binary file path. If you have installed R to a different location then this will need to be entered manually. Once this step has been completed click “Check now” to ensure that Omniscope is able to use R’s functionality. This will open the following dialog box:

    image

    If this is displayed then you are ready to use R functionality inside Omniscope.
]]>
DataManager: Blocks tab customisation - pick/remove blocks from the menu http://forums.visokio.com/discussion/2933/datamanager-blocks-tab-customisation-pickremove-blocks-from-the-menu Fri, 15 May 2015 07:40:11 -0400 paola 2933@/discussions You can customise the menu appearance and select only the blocks that are relevant for your work/ remove the rest.

DataManager Tools>Other>Show/hide blocks (see image)

This same menu contains other styling and layout customisation options.

image]]>
Pivot View: Colour Coding Tables http://forums.visokio.com/discussion/2929/pivot-view-colour-coding-tables Fri, 08 May 2015 07:39:58 -0400 dpawley 2929@/discussions

Hi

Posted on a discussion a while back now about colour coding within a Pivot Table. This was something that has got me thinking (scratching my head) for a while now. Visokio have a number of ideas and suggestions that come flooding in and this is small in comparison to others they receive - so was never implemented.

So I decided to carry on and crack it with their help!

Basically, I had a very large data set that I used a pivot table to report to my business some key measures (Volume, sales, share of category etc). But when using the pivot table, especially when calculating / formula in a pivot table, colour coding increases/decreases changes was proving impossible. Also too many formulas in a pivot table can slow down the report. So Visokio's advice was to calculate any formula columns within the data manager and then pull these through to the pivot table as a value rather than a formula.

In doing this, I was able to have a value calculated in the data manager, pulled through in to the pivot table as a value/measure. Then had the ability to use this value to colour the pivot table based on this. To colour code, you will need to go the "filters", "Field Options", "value ordering" and complete your colour criteria you require. Next you need to select the "Colour" option on the pivot table, "By Single Field" and select your value you have created, then "According to value field".

I have attached an example of my pivot table coloured. "TY", "LY" are values in the data set, "Var" was calculated in the Data manager View (as explained above) and "Var %" is a calculation within the Pivot table. The Pivot Table has been colour coded by the value "Var". This has made the pivot table a dynamic colour coded table depending on what you filter on.

Job done

Thanks

Danny
]]>
Content View: using native browser (IE on Windows) to play mp4 video http://forums.visokio.com/discussion/1829/content-view-using-native-browser-ie-on-windows-to-play-mp4-video Fri, 12 Oct 2012 08:08:05 -0400 antonio 1829@/discussions MSDN page, Internet Explorer may need more directives to display properly some HTML5 content.

We suggest to include:
- the document type definition at the beginning of the page:
<!DOCTYPE html>

- the meta tag directive into the head tag:
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>

For example, to use the HTML "video" tag, copy and paste the following code into your content view, being sure to enable the Native Browser option.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>
<body>

<video width="320" height="240" controls="controls">
<source src="http://www.w3schools.com/html/movie.mp4" type="video/mp4">Your browser does not support the video tag.
</video>

</body>
</html>

]]>
SUBSET Functions: Calculating sum within a date range http://forums.visokio.com/discussion/2923/subset-functions-calculating-sum-within-a-date-range Fri, 01 May 2015 11:26:48 -0400 DDrob 2923@/discussions
I haven't posted here before, I usually manage to work my issues out if I look at it for long enough but this one is just puzzling me. I feel like I'm doing everything right but I'm not getting the desired outcome.

My data is sales data, split by day and email address, where each row is a sale. I'm trying to create a new field which determines whether the sale was from a new customer (this was their first purchase in the last year), or an existing customer (purchased in the last year).

My steps were as follows:
1. Create a new field (StartDate) which is a DATEADD of -1 year to determine the lower end of my existing customer bracket.
2. Create a new field which is a function of SUBSET_SUM, SUBSET3 where Email=Email,Date>StartDate,Date
This will give me a sum of the sales where the email has appeared previously within my date range, and I can take 0 values as new and anything else as existing.

Now, my new field isn't returning anything and I can't work out why.

Hope you can help.

Thanks

P.S. I will attach the formula I used when I get access to my file again, although I'm pretty sure my syntax is correct.]]>
Missing Data: Automatically filling in the blanks http://forums.visokio.com/discussion/2573/missing-data-automatically-filling-in-the-blanks Wed, 28 May 2014 13:58:50 -0400 paola 2573@/discussions
In the dataset below, missing values in the field [Ctr] should take their value from the previous day OR the last filled in date, for the same Campaign. A Sort operation block can be used for better transparency, to order [Date] and [Campaign].

Formula below will pick the last available value for each combination of Date/Campaign:
IF([Ctr]=null,
SUBSET_LASTNONNULL([Ctr], SUBSET2([Campaign],[Rank Date],[Campaign],[Rank Date],"=","<")),
[Ctr])


It relies on the [Date] ranking:
RANK([Date],[Date],true,false, SUBSET([Campaign]))
For each campaign ranking runs from 1 to n, with the earliest date being ranked 1st.

In the case where their is no logical ranking criteria to sort inside the data set, the record number field may be useful (see below)

image]]>
Sources: KDB+ Database http://forums.visokio.com/discussion/2834/sources-kdb-database Fri, 30 Jan 2015 12:15:14 -0500 chris 2834@/discussions
Some of our clients have asked whether Omniscope supports reading/writing data to KDB+ (see http://kx.com/software.php).

KDB is not currently on our list of supported databases, however it is still possible to connect and pull in data in Omniscope, here's how:

1. Start KDB, specifying the port we want the webserver to listen on, for example on windows to start KDB on port 5000:

q -p 5000

2. Download the KDBC JDBC driver. This can be downloaded from:

http://kx.com/q/c/jdbc.jar

3. Open Omniscope, drag in a "Database table" block from the sources.

4. In "Select database" choose "JDBC (Advanced)".

5. In "Driver jar path" select the JDBC driver downloaded in step 2.

6. In "Driver class:" enter "jdbc".

7. In "JDBC URL" enter "jdbc:q:localhost:5000". If we are running KDB on a different port change the url.

8. Enter the username/password (if configured).

9 Click the "Connect" button. You should now be able to select a table and download the data, incorporating it into your DataManager workflow.

I've attached a screenshot with a configuration I was successfully able to use to connect and download 1 million records into Omniscope. This runs in a few seconds with the sample data I tested.

In the next few days we intend to add "KDB" to the list of supported databases, so you can use this instead of having to select the "JDBC (Advanced)" option. I'll post back once this has been implemented.

In the meantime please let us know if you encounter any problems using the method described above.

Chris
]]>
Bar View: Exporting aggregated data as table? http://forums.visokio.com/discussion/2826/bar-view-exporting-aggregated-data-as-tables Thu, 22 Jan 2015 05:35:22 -0500 alex7thompson 2826@/discussions
For instance consider the attached image. It would be useful to be able to get the percentages per month as just 25 rows of data rather than only being able to export raw data.

Thanks

Alex]]>
Content view: Inserting videos - swf and mp4 files http://forums.visokio.com/discussion/902/content-view-inserting-videos-swf-and-mp4-files Tue, 02 Aug 2011 09:04:07 -0400 Miklos 902@/discussions Thanks, Miklos]]> Parameters: On-demand parametric data set delivery http://forums.visokio.com/discussion/2783/parameters-on-demand-parametric-data-set-delivery Fri, 12 Dec 2014 06:55:27 -0500 Veaceslav 2783@/discussions Generate custom dashboards on demand

Scenario/Problem


You have an Omniscope server (2.9 or higher) installed and publicly available at your-omniscope.your-domain.com

In addition, you have another web server (Apache, Jetty, etc) providing services or any useful information to your customers/users. For the purpose of this post I'll consider that you have an apache web server at your-apache.your-domain.com, even though you can achieve this with most web servers.

On a particular page on your Apache web server you have a list of links that you want to open different dashboards based on some particular parameter (e.g. user id)
A link might look like this: http://your-apache.your-domain.com/users?userid=5

Clicking that link the user should see a dashboard page having data that concerns him/her, the dashboard would be generated on the fly.

You have a dashboard/IOK file configured to load data from a particular SQL database.

You want to load data that matches a parameter for a particular user. E.g.
SELECT * FROM [dbo].[bigtable] WHERE [somefield]={{Userid}}

Solution


IOK File

1. Open the IOK file, DataManager tab and add a parameter. E.g. Name: Userid, Type: Fixed value, Data type: Integer, Value: 3

2. Open database source block and add your custom SQL query. E.g.
SELECT * FROM [dbo].[bigtable] WHERE [Liq Cat]={{Userid}}

3. Save your file

image

Your apache web server

1. Implement a request handler to deal with your special GET requests http://your-apache.your-domain.com/users?userid=5 and read user id value. The server will not send a response unless all next steps finish executing (either successfully or not)

2. Generate an action file (e.g. Action.xml) that:
  • Sets data manager parameter value (for Userid parameter)
  • Refreshes from source, this sub-action will execute the SQL query again and load records matching the new user id
  • Save IOK file to a new unique location in mobile folder. E.g. mobile/custom-dashboards/12345.iok


<?xml version="1.0" encoding="UTF-8"?>
<schedulerFileAction source="/location-of-your-iok-file/file.iok" logTimings="false">
<subActions>
<schedulerFileActionSetDataManagerParameterValue parameterName="Userid">
<binding>
<manualparambinding type="INTEGER" publishedPublicly="false">
<values>
<e>
<v type="java.lang.Long" value="5" />
</e>
</values>
</manualparambinding>
</binding>
</schedulerFileActionSetDataManagerParameterValue>
<schedulerFileActionRefreshFromSource clearCacheBefore="true" clearCacheAfter="true" failOnError="false" />
<schedulerFileActionSaveIok location="/location-of-our-new-dashboard/12345.iok" />
</subActions>
</schedulerFileAction>


3. Execute the new action
E.g. On windows (same parameters on Linux -executeAction /some-path/Action.xml)
OmniscopeEnterprise.exe -executeAction "some-path\Action.xml"

4. Once the scheduler action is executed successfully, your Apache web server will return a redirect response to the client

The client/browser will be redirected to your-omniscope.your-domain.com/custom-dashboards/12345.iok

You may want to set up a proper back-end configuration, hardware load balancer + software load balancer, caching requests, etc. Also, you may want to make sure your paths are randomly generated, to prevent other users from viewing other dashboards.
]]>
Styling: Examples of modern/fancy dashboards? http://forums.visokio.com/discussion/2761/styling-examples-of-modernfancy-dashboardss Fri, 14 Nov 2014 03:18:16 -0500 nash 2761@/discussions I found this discussions: http://forums.visokio.com/discussion/comment/7545/#Comment_7545
However there are no results posted. ]]>
Styling & Branding tips: Setting up styles and presets 2.9+ http://forums.visokio.com/discussion/2745/styling-branding-tips-setting-up-styles-and-presets-2.9- Thu, 16 Oct 2014 09:24:18 -0400 daniel 2745@/discussions
Attached are two examples of .ILF styling files which are files you simply click and run in Omniscope to add these styling sets to your own installation and menus. These will automatically prompt you to save them into your style list where you can apply them onto any tab.

I have also included a XML file for presets, you have to import this file into your preset menu (see images 1 & 2) and make sure to apply to application wide setting so that it is saved to your Omniscope installation. Once installed the new presets will appear within the menu (image 3).

image
image
image

As an FYI and plug, I am a freelance Omniscope consultant who would like to offer my services.
So please contact me if you have any opportunities, seek training or short term/part-time work that needs doing.

FMI check out some examples on my blog, LinkedIn or pm

uk.linkedin.com/in/dancklam/
http://spatiametrics.wordpress.com/omniscope-data-visualisations/

]]>
Unstructured Data transformation: Reading in Transactional data http://forums.visokio.com/discussion/2740/unstructured-data-transformation-reading-in-transactional-data Tue, 07 Oct 2014 07:41:48 -0400 freddiewalker 2740@/discussions I have some transactional data I would like to read into Omniscope if possible.. If not, any ideas of other programs/software I could potentially use would be appreciated.
I have attached an excel file with a few quick examples of the data (and its breakdown). Ideally I would like to read in each separate transaction into an amount of records that corresponds to how many products there are in that transaction. So for each product I would have date/time/payment method/units/value/multibuy information etc...

Would this be possible on Omniscope?
Many thanks.]]>
GIS: Geometric Buffer Filtering - Selected Data on Map + related views http://forums.visokio.com/discussion/2666/gis-geometric-buffer-filtering-selected-data-on-map-related-views Thu, 31 Jul 2014 05:37:09 -0400 dpawley 2666@/discussions
Was having a play with Geometric Buffers today and these are great! The only issue is that what I really want to see is a Map Visual but also the map summarised in a table.

I have a buffer layer of 260 points across the UK with a 10km radius. This is overlayed on to another data file of 400,000 individual address with different classifications, i.e. Pubs, Shops etc. You can construct a pivot table along the Map that when you select an area the pivot table is changed to that area. However, what I want is a pivot table that is all the areas listed and what split of Pubs to shops are in their areas.

Does this make sense? I think you need to have the Buffer file as part of the dataset but when you have overlapping areas this proves difficult.

Any ideas or tips would be great.

Danny]]>
GIS: Map View - Overlays (e.g. boundaries) http://forums.visokio.com/discussion/2647/gis-map-view-overlays-e.g.-boundaries Wed, 09 Jul 2014 08:33:42 -0400 richard 2647@/discussions
In this example we are going to analyse data relating to cities in the USA and add an overlay of USA state areas to improve the visualisation.

ATTACHMENTS
  • USA cities.zip - Contains an Esri Shapefile of USA city data, including latitude/longitude locations.
  • USA states.zip - Contains an Esri Shapefile of USA state areas.


INSTRUCTIONS
  1. Download and unzip "USA cities.zip" and "USA states.zip".
  2. Create a new file in Omniscope and go to DataManager.
  3. First we need to load the USA cities data into Omniscope. Drag "USA_cities.shp" on to the DataManager workspace.
  4. Expand the block and next to "Overlay identifier", select "CITY". This means that Omniscope will use the city name to uniquely identify every record.
  5. Next to "Metadata fields included", select all fields. This will load all meta-data from the Esri Shapefile.
  6. Execute the block and load it into Omniscope.

    image

  7. Now that the city data is loaded we can begin exploring it. Go to the 'DataExplorer' tab.
  8. Change the Bar/line View to a Map View, which will display the location of each city.
  9. The cities are now visible on the map but we can add an overlay of the USA state areas to summarise the data. Drag the "USA_states.shp" onto the Map View and select 'Open as a map overlay'.
  10. The next dialog allows you to customise how the data will be imported. This contains the same options you saw in the DataManager block earlier. Next to "Overlay identifier", select "STATENAME" to use USA state names as unique identifiers for each area in the file. Next to "Metadata fields included", select all fields. This will load all meta-data from the Esri Shapefile. Click "OK".

    image

  11. Now we need to change the colour of the states. In the Map View toolbar, go to the "Overlay" menu and select the downward pointing arrow next to "USA_state.shp". This will display a panel containing advanced options for your overlay layer.

    image

  12. Under "Outline", change "Colour mode" to "Fixed" and then choose a new colour from the new drop-down. This will update the outline colours of all USA state areas. More information on colour modes is available at the end of these instructions.
  13. Under "Fill", change "Colour by (overlay dataset)" to "Subregion". This uses the "Subregion" field in your overlay dataset (USA_state.shp) to generate category colours for each area.

    image

    image

  14. You can also use data from your currently loaded dataset (USA_cities.shp) to colour the USA state areas. To do this use the same overlay configuration menu and under "Fill", change "Colour mode" to "By current dataset".
  15. You'll notice there is a message 'No "Linked data" field selected for the current dataset.'. For Omniscope to link these two datasets together we need a common field with values found in both datasets. Our sample SHP files both contain state names with common values so select "State" next to the "Join on (current dataset)" control to configure the link. We now have a basic relationship configured between the USA_cities dataset and the USA_state dataset.
  16. You might have noticed that some states, e.g. Wyoming, have disappeared from the map. By default after you have created this link between 2 datasets, Omniscope will not display any overlay areas which do not have related data in your currently loaded dataset. To disable this behaviour uncheck "Filter overlay data on join".
  17. The overlay is now configured to display state areas coloured by the number of linked records in the cities dataset. You can colour by a field in the current dataset by selecting from the drop-down next to "Colour by (current dataset)". Select "Pop2007" to use the population statistics for 2007. You can choose a function to summarise all the population statistics by selecting from the "Function" drop-down but we will leave this as "Sum".
  18. Your map is now displaying each USA state coloured by the total population across all cities within its area. Notice how California, Texas and New York all have same colour yet they have total populations of ~17.2m, ~10.5m and ~9.1m respectively. This is because we are using the original colour range from the "Pop2007" field which ranged from ~100k to ~8.3m. Any values above or below these limits will generate the same colour, which is misleading for our example. We can dynamically generate new colour limits by going back to the overlay "Fill" options and enabling '"Fit to data" colour range'.

    image

    image




ADVANCED
In the Map View overlay functionality you will come across terms like "Overlay ID", "Overlay identifier", "Data type". Below are explanations for each of these terms and how they are used by Omnsicope. If you are using KML or Shapefile sources then most of these fields will be configured automatically.

Data types
  • Point - A dataset containing pairs of latitude/longitude coordinates, e.g. a shop location.
  • Line - A dataset containing connected, and unfilled/unclosed, chains of points, e.g. a hurricane path or road.
  • Area - A dataset containing connected, and filled/closed, chains of points, e.g. a post code area or country border.


Colour modes
  • Fixed - Choose a single colour which will be applied to all data.
  • By current dataset - Generate colours using a field from the currently loaded Omniscope dataset.
  • By overlay dataset - Generate colours using a field from the embedded overlay dataset.


Fields
  • Overlay identifier - Field containing unique identifiers for each point, line or area in the input dataset, e.g. a field containing country names or postal area codes.
  • Overlay sub-path identifier - This is used internally within Omniscope to identify nested geometries within each shape. For example a shape for the United Kingdom could not be drawn with one continuous line. We use this field to breakdown the records into numerous islands which make up the country.
  • Longitude - Field containing WGS84 longitude values.
  • Latitude - Field containing WGS84 latitude values.
]]>
Data sources: Connecting to Amazon RDS database MySQL using ssl http://forums.visokio.com/discussion/2651/data-sources-connecting-to-amazon-rds-database-mysql-using-ssl Tue, 22 Jul 2014 08:25:53 -0400 donald 2651@/discussions

1. Download the public key for Amazon RDS.
http://s3.amazonaws.com/rds-downloads/mysql-ssl-ca-cert.pem

2. Add the key to the java keystore for use with Omniscope.

You will need to install the latest Java SE Development Kit 7 to use the keytool. We will also be using the root certificates file provided with the java runtime.

Java SE Development Kit 7 Downloads

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Create a directory for working with the certificates.
Copy the Amazon RDS public key file that you downloaded into it.
Copy the cacerts authority file from the jdk jre security library directory.

mkdir C:\Users\USERNAME\omniscope-server\security
cd C:\Users\USERNAME\omniscope-server\security
copy "C:\Users\USERNAME\Downloads\mysql-ssl-ca-cert.pem” "C:\Users\USERNAME\omniscope-server\security\”
copy "C:\Program Files\Java\jdk1.7.0_65\jre\lib\security\cacerts” "C:\Users\USERNAME\omniscope-server\security\”


Import the Amazon RDS public key into the authority file.

"C:\Program Files\Java\jdk1.7.0_65\bin\keytool.exe” -import -v -alias awsrdsmysql -file mysql-ssl-ca-cert.pem -keystore cacerts

You will be prompted for the password which is "changeit”

You will be prompted to Trust this certificate”, type yes

Certificate was added to keystore
[Storing cacerts]

You can view the certificates to check using the following command
"C:\Program Files\Java\jdk1.7.0_65\bin\keytool.exe” -list -v -keystore cacerts

You now have a file with the default root certificates and the Amazon RDS mysql public key.

3. Set the Java keystore file for Omniscope to this file.
Edit the installconfig.properties file for your Omniscope installation.

http://www.visokio.com/kb/installconfig

Uncomment the ADDITIONAL_JVM_ARGS parameter if commented out and add the following , the value for -Djavax.net.ssl.trustStore must be the full path and filename of the keystore file.

-Djavax.net.ssl.trustStore=”C:\Users\USERNAME\omniscope-server\security\cacerts"

ADDITIONAL_JVM_ARGS=-Djavax.net.ssl.trustStore="
C:\Users\USERNAME\omniscope-server\security\cacerts"


4. Download and install the latest official JDBC driver for MySQL - MySQL Connector/J.
http://dev.mysql.com/downloads/connector/j/

5. Start Omniscope and connect to the database using the Database table source or Database table output.

Connection details
Select database: JDBC (Advanced)
Driver jar path: path to the MySQL Connector/J JDBC driver you installed earlier
e.g.
C:\Program Files (x86)\MySQL\MySQL Connector J\mysql-connector-java-5.1.31-bin.jar

Driver Class: com.mysql.jdbc.Driver
JDBC URL: jdbc:mysql://HOSTNAME:PORT/DATABASENAME?useSSL=true

The HOSTNAME:PORT is the authorized Endpoint listed in the RDS Dashboard for the database instance. You need to append the useSSL=true parameter to the url.
See http://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html for the JDBC URL Format.

e.g.
jdbc:mysql://visokiodbinstance.cnyz7m0qcuin.eu-west-1.rds.amazonaws.com:3306/visokiomysqldb?useSSL=true



image

image]]>
GIS: Map View - Spider plots http://forums.visokio.com/discussion/2644/gis-map-view-spider-plots Tue, 08 Jul 2014 10:11:34 -0400 richard 2644@/discussions
In this example we are going to create a spider plot linking the company's distribution centres to each of the customers awaiting a delivery.

image

ATTACHMENTS
  • Customer deliveries.csv - A CSV file containing the location's of customers and the name of the distribution centre where the delivery will originate.
  • Distribution centres.csv - A CSV file containing the location's of a company's distribution centre..


INSTRUCTIONS
  1. Open "Customer deliveries.csv" in Omniscope.
  2. Change the Bar/line View to a Map View, which will display the location of each customer.
  3. Now we need to add the second CSV file as an additional layer in the Map View. Drag "Distribution centres.csv" onto the Map View and select 'Open as a map overlay'.
  4. The next dialog allows you to customise how the data will be imported. This contains the same options you would see in a DataManager block for the same file type. Click "OK".
  5. Now we can configure how the Map View should interpret the distribution centre data. We need to tell Omniscope what type of data the file contains, e.g. point, line or area, and also which fields contain latitude/longitude values etc. See the ADVANCED section at the end of this post for more information. For now just configure the settings to match the screenshot shown below and click "OK".

    image

  6. The distribution centres are now displayed alongside the curent dataset's customer locations but they all look the same, so we need to customise the view. In the Map View toolbar, go to the "Label" menu and select "Customer" to add some labels.
  7. Now we need to change the colour of the distribution centres. In the Map View toolbar, go to the "Overlay" menu and select the downward pointing arrow next to "Distribution centres.csv". This will display a panel containing advanced options for your overlay layer.

    image

  8. Click on "Fixed colour" and choose another colour to update the distribution centres.
  9. Click on "Spider plot" to begin enabling spider plots. You'll notice there is a message 'No "Linked data" field selected for the current dataset.'. In order for Omniscope to link these two datasets together we need a common field with values found in both datasets. Our sample CSV files both contain a "Distribution Centre" field with common values so select that next to the "Join on (current dataset)" control. We now have a basic spider plot connecting each distribution centre to it's respective customers.
  10. You might have noticed that some distribution centres have disappeared from the map. By default after you have created this link between 2 datasets, Omniscope will not display any overlay points which do not have related data in your currently loaded dataset. To disable this behaviour uncheck "Filter overlay data on join".

    image



ADVANCED
In the Map View overlay functionality you will come across terms like "Overlay ID", "Overlay identifier", "Data type". Below are explanations for each of these terms and how they are used by Omnsicope. If you are using KML or Shapefile sources then most of these fields will be configured automatically.

Data types
  • Point - A dataset containing pairs of latitude/longitude coordinates, e.g. a shop location.
  • Line - A dataset containing connected, and unfilled/unclosed, chains of points, e.g. a hurricane path or road.
  • Area - A dataset containing connected, and filled/closed, chains of points, e.g. a post code area or country border.


Fields
  • Overlay identifier - Field containing unique identifiers for each point, line or area in the input dataset, e.g. a field containing country names or postal area codes.
  • Overlay sub-path identifier - This is used internally within Omniscope to identify nested geometries within each shape. For example a shape for the United Kingdom could not be drawn with one continuous line. We use this field to breakdown the records into numerous islands which make up the country.
  • Longitude - Field containing WGS84 longitude values.
  • Latitude - Field containing WGS84 latitude values.
]]>
GIS: iGeolise point ranking & filtering operation http://forums.visokio.com/discussion/2643/gis-igeolise-point-ranking-filtering-operation Tue, 08 Jul 2014 08:56:50 -0400 richard 2643@/discussions
The following example assumes that you already have an iGeolise Travel Time account. You can sign up for an account by clicking on "iGeolise account help" in the DataManager block noted below and following the link.

ATTACHMENTS
  • Customer deliveries.csv - A CSV file containing the deliveries to be made from a company's distribution centre to various customers across London.


INSTRUCTIONS
  1. Create a new file in Omniscope and go to DataManager.
  2. Drag "Customer deliveries.csv" onto the DataManager workspace.
  3. Create a new "iGeolise Travel Time" operation and connect it to your workflow. This block will use the point data from the CSV and generate routes from the distribution centre to each customer location.
  4. Enter your iGeolise Travel Time application ID and key.
  5. Choose the "Ranking Points" service.
  6. Change the "Transport type" to "Driving" so the service will calculate results based upon how far the company's delivery vans can travel by road.
  7. Enter a maximum journey duration, e.g. 10 minutes. Any destinations which cannot be reached in that time will be filtered out.
  8. Go to the 'Fields' tab to configure. We need to configure which fields this block should use to identify the origin and destination of each route:
    • Point identifier - Field containing unique identifiers for each point in the input dataset. In our example this would be the names of the distribution centres or customers.
    • Longitude - Field containing WGS84 longitude values.
    • Latitude - Field containing WGS84 latitude values.

  9. Execute the block, load the data into Omniscope and then drag a Map View into Omniscope to see the ranked points.

    image

    image

    image
]]>
GIS: iGeolise routing operation http://forums.visokio.com/discussion/2642/gis-igeolise-routing-operation Tue, 08 Jul 2014 08:50:53 -0400 richard 2642@/discussions
The following example assumes that you already have an iGeolise Travel Time account. You can sign up for an account by clicking on "iGeolise account help" in the DataManager block noted below and following the link.

ATTACHMENTS
  • Customer deliveries.csv - A CSV file containing the deliveries to be made from a company's distribution centre to various customers across London.


INSTRUCTIONS
  1. Create a new file in Omniscope and go to DataManager.
  2. Drag "Customer deliveries.csv" onto the DataManager workspace.
  3. Create a new "iGeolise Travel Time" operation and connect it to your workflow. This block will use the point data from the CSV and generate routes from the distribution centre to each customer location.
  4. Enter your iGeolise Travel Time application ID and key.
  5. Choose the "Routing" service.
  6. Change the "Transport type" to "Driving" so the service will calculate results based routes which the company's delivery vans can travel on.
  7. Enter a maximum journey duration, e.g. 60 minutes. Any destinations which cannot be reached in that time will be filtered out.
  8. Go to the 'Fields' tab to configure. We need to configure which fields this block should use to identify the origin and destination of each route:
    • Point identifier - Field containing unique identifiers for each point in the input dataset. In our example this would be the names of the distribution centres or customers.
    • Longitude - Field containing WGS84 longitude values.
    • Latitude - Field containing WGS84 latitude values.

  9. Execute the block, load the data into Omniscope and then drag a Map View into Omniscope to see the routes.

    image

    image

    image
]]>