Menu

Home

Zhe Liu

Welcome to your wiki!

This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].

The wiki uses Markdown syntax.

Project Admins:


Discussion

  • Zhe Liu

    Zhe Liu - 2013-01-25

    I have created and launched a DEMO project with Rapid application development (RAD) for concept testing. A formal project as well the source codes will be provided soon.

    Here I list a brief instruction for playing with the DEMO.
    Once you have run the DEMO by clicking Demo.SymbolLanguage.exe, you shall see a dialog appear first to let you select from the language parser plug-ins. Then a window is launched to show the map, as well a control pane at the left to support symbol language commands, which contains 3 modules: Symbol Script, Load File, and Help.

    I have included the interface, SysMAP.SymbolLanguageInterface. You are welcome to write your own language parser plug-in, so you will be able to create and support your own symbolic language. Have fun!

    The Help includes both audio and text-based help for using the DEMO, pretty much self-explained. Click Help will trigger the audio-based help. Click the "Expand/Close" symbol at the top right corner of Help will turn on/off the audio help.

    Symbol Script module provides a Command Line for you to type in the symbol language commands, such as "++", "--", "g", "b", "A+B", "+A", "-B", etc. The current language parser also supports point definition such as "p1(latitude, longitude)" and aggregation such as "A[p1, p2, ..., pn]. After type in a command, click "Execute" and you shall see the command will be copied to Command History module, and the command will be executed immediately. If you type in render color commands such as "*g", you will see the effect immediately.

    If you already save the commands into a script, you are able to load the script fie via Load File. The functionality of Load File hasn't been completed yet, so you can only see the contents for now.

    Have fund with the DEMO. Pass me some comments if you like.

     

    Last edit: Zhe Liu 2013-01-31
  • Zhe Liu

    Zhe Liu - 2013-01-31

    Main features of SysMap.Net V1.0.0.0:

    Reflection and dynamic binding are used to support language parser plug-ins.

    p(lat,lon) : define a point with lat and lon. The point name can be any name, preferrably lower case for the first letter.

    A[p1, p2, ..., pn] : A represents one set of points, while p* (or any name, preferrably lower case for the first letter) represents n points. Define a set A with n points.

    A+B: A (or any name, preferrably capital case for the first letter) represents one set of points, while B represents another set. Applying '+' symbol will aggregate A and B
    and assign the results to A.

    A-B: Similarly, Applying '-' symbol will remove the common subset of A and B from A, then assign the results to A.

    c: c resprents a Color object. Applying '' symbol to c will set the color of all point sets in the meory.

    +A: A represents one set of points. Applying '+' symbol before A will display/unhide all the points in A on the screen.

    -A: A represents one set of points. Applying '-' symbol before A will hide all the points in A on the screen.

    ++: Applying '++' symbol will zoom in all point sets in the meory (zoom level increases by one).

    --: Applying '--' symbol will zoom out all point sets in the meory (zoom level decreases by one).

    --A: A represents one set of points. Applying '--' symbol before A will remove A from the memory and the display.

     

    Last edit: Zhe Liu 2013-01-31
  • Zhe Liu

    Zhe Liu - 2013-01-31

    Main features of SysMap.Net V1.1.0.0:

    Installed TestDriven.Net for VS to use NUnit 2.6.1 for unit testing.

    Created customer error class to handle error messages.

     
  • Zhe Liu

    Zhe Liu - 2013-02-02

    Here I provide a brief instruction to play with the map controller and plugins.

    First download SysMap.Net.v1.1.0.0.zip from
    https://sourceforge.net/projects/symmapnet/files/
    Unzip it to a folder which can be anywhere in the hard disk. By default you get a folder named 'Release'.

    Run Demo.SymbolLanguage.exe (the map controller) under Release folder, it will pop up a dialog to let you choose from available plug-ins. I have provided two plug-ins at the Release older: 'Symbol Language Parser v1.0.0.0 (Default)' and 'Symbol Language Parser v1.1.0.0'. You can choose any of them from the ComboBox, then press Continue. You shall see a window with two parts: teh left side provides control, while the right side show a map. The control part has 3 modules: Symbol Script, Load File, Help.

    Click the expand symbol at the top-right corner of the Help module, the Help module will show you theHelp Content, which is achieved dynamically from the plug-in you had chosen before. Every plug-in is able to provide its own Help because it may implment different functionalities, such as different symbol languages.

    Click the Symbol Script window, you shall see a Command History Pane, a Command Input Textbox, and a button named Execute. Type your script command in the command textbox, then press Execute, you shall see how your script command is executed and the map will change accordingly. The command you typed will be added to the Command History Pane.

    Here I provide a list ofample script commands that are supported by current plug-ins. Try them and have fun!

    p1(51.0544, -114.0669)

    p2(51.0566, -113.9669)

    A[p1,p2]

    p3(51.0550, -114.0222)

    B[p3]

    +A

    -A

    +B

    -B

    A+B

    +A

    -A

    A-B

    +A

    ++

    ++

    --

    +g

    +r

    +b

    --

    --A

     

    Last edit: Zhe Liu 2013-02-02
  • Zhe Liu

    Zhe Liu - 2013-02-02

    For open source plug-in developers:

    There is a bug/type found in the source codes attched:

    At file SysMAP.SymbolLanguage.Parser\Parser.cs,
    line 104 shall be repalced by:
    else if (command.Contains( "+")) //The first char is NOT "+", and not "++"
    line 108 shall be repalced by:
    else if (command.Contains("-")) //The first char is NOT "-", and not "--"

     

Log in to post a comment.

MongoDB Logo MongoDB