------------------------------------------------------------------------------
JShape 2.19 Copyright 2000 from JShape Software
------------------------------------------------------------------------------
***
*** This file does not contain the complete updated information about JShape,
*** please refer to http://www.jshape.com for the complete updated information.
***
1. How to use JShape
1.1 : System requirements
1.2 : Install JShape on your WWW server
1.3 : Write your own HTML files
1.4 : Customize JShape
1.5 : Link to the attribute information
1.6 : JShape action buttons
1.7 : JShape online commands
1.8 : Compressed shapefile
2. JShape External Interface
2.1 : JShape External Interface Model
2.2 : JShape External Interface Programming Environment
2.3 : Java/JShape Coordination Systems
2.4 : Basic JShape Class Objects
2.5 : JShape API
3. JShape in international languages
4. User Buttons
5. Thematic Map Functions
6. JShape Script
7. Encrypted Shapefiles
8. JShape Application
9. Invoke Menu in MapLegendMode or MapWindowOnly Modes
A. JSFrame Wrapper
B. Where to get JShape
------------------------------------------------------------------------------
1. How to use JShape ?
------------------------------------------------------------------------------
------------------------------------------------------------------------------
1.1 System Requirements :
------------------------------------------------------------------------------
1. At least, you need to have a WWW server which you can load your
HTML files, shapefiles and JShape applets onto it.
2. A WWW browser which support Java VM (Virtual Machine).
3. A basic editor (like Notepad.exe).
------------------------------------------------------------------------------
1.2 Install JShape on your WWW server
------------------------------------------------------------------------------
1. Unzip JSHAPE.ZIP
2. Copy all JShape applets to (a) or (b).
(a) A special JShape directory which can be accessed through
CODEBASE="..." option.
(b) The directory which you put your HTML files and shapefiles.
3. Usually, you need to put the HTML files with the related shapefiles
and the attribute information in the same directory.
(*** Note ***) For advanced WWW developers : JShape can be packed a ZIP
file for fast downloading.
------------------------------------------------------------------------------
1.3 Write your own HTML files
------------------------------------------------------------------------------
1. Before you start publishing your shapefiles through JShape, you need to
have the basic knowledge about HTML language.
2. Embed JShape applets into your HTML files. For examples :
(a) . All JShape class files are copied to /jshape directory.
. Display the shapefile "river.shp" (Arc feature) in blue color.
(b) . All JShape class files are copied to the same directory contained
the related HTML files an shapefiles.
. Display the shapefile "river.shp" (Arc feature) in blue color.
(c) . All JShape class files are copied to /jshape directory.
. Display the shapefile "river.shp" (Arc feature) in blue color.
. Display the shapefile "state.shp" (Polygon feature) in red frame
and pink background.
. The river features are on top of the state features.
(d) . All JShape class files are copied to /jshape directory.
. Display the shapefile "city.shp" (Point feature) in green color.
. Display the shapefile "river.shp" (Arc feature) in blue color.
. Display the shapefile "state.shp" (Polygon feature) in red frame
and pink background.
. The city features are on top of the river features, and the river
features are on top of the state features.
(e) . Instead of downloading dozens of JShape class files separately, users
can specify the archive file jshape.zip for one fast downloading.
------------------------------------------------------------------------------
1.4 Customize JShape
------------------------------------------------------------------------------
There are two groups of parameters allowing users to customize JShape :
[Project Parameters]
01) project : Allow users to specify the project name.
For example :
02) jshapebase : Allow users to specify the location of shapefiles and
attribute information files. Usually, HTML files, shapefiles and
attribute information files are in the same directory, however
this parameter allows you to separate them.
*** Parameter jshapebase must be a complete URL path. ***
For Example :
03) scale : Allow users to change the resolution of spatial data. The default
value is 1000. If the full extent box of your spatial data is too small,
increase this value. If the full extent box of your spatial data is too
large, decrease this value.
For Example :
04) status : Allow users to adjust the size of the status window. If the value
of status is 0, the status window will be hide. The default value
is 3.
For Example :
05) scolor : Allow users to change the selection color. The default selection
color is yellow. You can specify colors in two different ways.
(a) Pre-defined color : black, blue, cyan, darkGray, gray, green,
lightGray, magenta, orange, pink, red, white, yellow, brown,
violet, gold and transparent (only for the background color of
polygon features).
(b) RGB valued color : RRGGBB value is in the hex-decimal format.
For Examples :
06) count : allow users to specify how many layers (or shapefiles) are wanted
to display.
For Example :
07) list : allow users to specify which layers (or shapefiles) to be loaded
into JShape. When using this parameter, there is no need to use "count"
parameter anymore.
For Example :
The above parameter specifies JShape only loads layers 1 and 3 (layer 1
is on the top of layer 3).
08) zoomxmin, zoomymin, zoomxmax, zoomymax : these four parameters allow users
to Pre-Zoom JShape to the area users specified at the startup time.
For Example :
09) external : the class filename of JShape External Interface module.
The default class filename is "external".
*** Java class filename is case-sensitive ***
For Example :
10) delimiter : the delimiter used to separate fields in the attribute
information file. The default delimiter is "@".
For Example :
11) mbcolor : allow users to specify the background color of the map window.
The default map background color is light gray.
For Examples :
12) notes : if jshape works inside Lotus Notes environment, this parameter
need to be set "1"
For Example :
13) actlayer : allow users to set the active focus layer. The default
actlayer value is 1.
For Example :
14) initfile : specify JShape to load the applet parameters from an external
initial parameter file.
For Example :
15) cmdfile : specify JShape to load the user menu command file.
For Example :
16) UnzoomRatio : the extra zoom-out ratio for the unzoom function
For Example :
17) MapWindowOnly : the switch to turn on Map Window Only Mode
For Example :
18) MapLegendMode : the switch to turn on MapLegend Mode, which JShape only
display the Map and Lengend windows on the screen.
For Example :
19) LegendWindowWidth : set the width of the legend window.
For Example :
20) UseCodeBase : JShape uses [CodeBase] directory to load its documents and
GIS data.
For Example :
21) MaxZoomInRatio : set the ratio to control the zoomin detals.
For Example :
[Layer Parameters]
01) layer? : allow users to specify the shapefile or image file. "?" indicates
the layer number. If a file ends with ".gif" or ".jpg", this file is an
image file.
For Example :
...
...
...
02) info? : allow users to specify the attribute information file. "?" indicates
the layer number.
For Example :
...
...
...
03) title? : allow users to specify the title of a layer. "?" indicates the
layer number.
For Example :
04) fcolor? : allow users to specify the (foreground) color for the point and
arc feature, or the frame color of the polygon feature. "?" indicates
the layer number.
For Examples :
05) bcolor? : allow users to specify the fill (background) color of the polygon
feature. "?" indicates the layer number.
For Examples :
06) size? : allow users to specify the symbol size. "?" indicates the layer
number. The default value is 1.
For Example :
07) xmin?, ymin?, xmax?, ymax? : If the layer file is an image background
file, users must specify its extent box coordinations. "?" indicates
the layer number.
max (xmax,ymax)
+----------------*
| GIF/JPEG Image |
| Extent |
*----------------+
min (xmin,ymin)
For Example :
08) lcolor? : allow users to specify the label color of the current layer,
"?" indicates the layer number. The default label color is black.
For Examples :
09) label? : allow users to set the label information of the current layer,
"?" indicates the layer number. The default label information is OFF.
For Examples :
10) enable? : allow users to enable/disable the specified layer status.
"?" indicates the layer number. The default layer status is ON.
For Examples :
11) delay? : allow users to delay loading the specified layer. When the delay
loading is set to ON, the speified layer will be disabled, and the GIS
data will not be loaded until this layer is enabled by users.
"?" indicates the layer number. The default layer status is OFF.
For Examples :
12) threshold? : allow users to specify the threshold area factor. The threshold
factor must be an integer greater than 1.
For Examples :
The above threshold specifies JShape "Do not dynamically load layer 1 data,
if the current view extent is larger than 1/64 full view extent.".
------------------------------------------------------------------------------
1.5 Link to the attribute information
------------------------------------------------------------------------------
There are multiple feature records contained in a shapefile. When a feature
is selected or identified, a feature record number is report to JShape. JShape
uses this record number to link with the external attribute information file.
The attribute information is contained in a plain ASCII text file. Each
line of this file stands for one attribute information record. There should be
an one-to-one relationship between the shapefile and the attribute information
file.
*** Starts from JShape 2.1, the attribute information can be also retrieved
from a dBase (.dbf) file. ***
There are three ways to prepare the attribute information files :
(a) Use the dBase file from the shapefile suite.
(*NOTE*) ESRI's Shapefile suite contains three parts :
shape.shp : feature records
shape.shx : spatial index
shape.dbf : dBase file contains ID, Area, length, attribute &
misc. information. Sometimes, it's too big/slow
to transfer through the Internet.
(b) Export the attribute records from a shapefile dBase file to a text file.
(b) Use [Identify] action button from JShape to identify the feature record
number, and build the attribute information file manually.
------------------------------------------------------------------------------
1.6 JShape action buttons
------------------------------------------------------------------------------
There are several action buttons in JShape panel allows users to manipulate
the spatial data.
1. [UnZoom] : Display the map in the full extent view.
2. [ZoomIn] : Zoom in the map.
3. [ZoomOut] : Zoom out the map.
4. [Pan] : Pan (move) the map.
5. [Identify] : Identify the attribute information on the current focused
layer. The identified attribute information is shown in the status
window. The focused layer can be changed through the legend window by
clicking the interested layer you want.
6. [Select] : Select the spatial features of the current focused layer.
The identified attribute information is shown in the status window.
The focused layer can be changed through the legend window by clicking
the interested layer you want.
(*** Note ***) After processed [Select] function, JShape displays the
selection box information (xmin, ymin, xmax & ymax) in the status window.
Users can use these coordination information for the Pre-Zoom or the
Image-Background functions.
7. [Clear] : Clear the selected features, labels and the status window buffer.
8. [Execute] : Execute the online command entered in the command window.
Next section will explain this in the details.
9. [Query] : Query the attribute information on the current focused layer
with the query criterion entered in the command window.
The focused layer can be changed through the legend window by clicking
the interested layer you want.
JShape uses the partial string match method to search the attribute
information.
For Example :
There are three attribute records :
Park
Arc
nomatch
If the query criterion is "ar", only "Park" and "Arc" will be matched.
------------------------------------------------------------------------------
1.7 JShape online commands
------------------------------------------------------------------------------
Users can enter the online command in JShape command window, and then press
[Execute] button to execute the online command. The following commands are
currently supported by JShape.
1. help : Help command.
2. count : Report the number of features on the current focused layer.
3. extent : Report the map extent information.
4. fcolor= : Change the foreground color of the features on the current
focused layer. For examples : fcolor=red or fcolor=FF00FF
5. bcolor= : Change the background color of the features on the current
focused layer. For examples : bcolor=red or bcolor=FF00FF
6. lcolor= : Change the label color on the current focused layer.
For examples : lcolor=red or lcolor=FF00FF
7. size= : Change the symbol size of the features on the current focused
layer. For example : size=5
8. scolor= : Change the selection color of the features on the current
focused layer. For examples : scolor=red or scolor=FF00FF
*** Note ***
JShape allows multiple selection colors co-existing on the same
focused layer. With the different selection colors and the different
query criteria, WWW end users can achieve the thematic map effects.
For Example : On a road layer, users can do the following things :
(a) [Execute] : scolor=red
(b) [Query] : highway 101
The selected "highway 101" features are displayed in red.
(c) [Execute] : scolor=brown
(d) [Query] : highway 5
The selected "highway 5" features are displayed in brown, and
the selected "highway 101" features are still displayed in red.
9. ssize= : Change the symbol size of the selected features on the current
focused layer. For example : ssize=5
A. export : Export the selected attribute information (from Query or Select
functions) of the current focused layer.
B. label=[ON|OFF] : Set the label information ON or OFF on the current
focused layer. For exmaple : label=OFF
C. label : Set the label information ON on the current focused layer.
D. lfield= : Set the label attribute field number on the current
focused layer. For exmaple : lfield=2
E. mbcolor= : Change the background color of the map window.
For examples : bcolor=red or bcolor=FF00FF
------------------------------------------------------------------------------
1.8 Compressed shapefile
------------------------------------------------------------------------------
Start from version 1.1, JShape supports the compressed shapefile (.csp)
format. Users need to use FShape to convert their normal shapefiles to
the compressed shapefiles. The compressed shapefile usually is 3-4 times smaller
than its original shapefile. This means the compressed shapefile can be transfered
3-4 times faster on the Internet.
JShape treats the compressed shapefile the same way as it treats the normal
shapefile. For example, you have a compressed shapefile "river.csp", and you
want to publish it to WWW. Here is the HTML script for that.
------------------------------------------------------------------------------
2. JShape External Interface
------------------------------------------------------------------------------
------------------------------------------------------------------------------
2.1 JShape External Interface Model
------------------------------------------------------------------------------
JShape External Interface is the interface allows users to implement their
customized rountines. The basic protocol of JShape External Interface Model
is following :
(1) At JShape startup time, JShape detect whether there is "external" (or
class file specified in ) class
file existing. If "external" class file exists, JShape loads/links it into
JShape's main codes. If "external" class file does not exist, JShape just
does its normal activities and the rest steps are skipped.
(2) If "external" class file exists and the following EVENTs happened, JShape
will call the dispatch routine in the "external" class.
* JShape's init() is called, after the user interface is created.
* JShape's start() is called, after the layer information is loaded.
* JShape's stop() is called, before JShape applet is stoped by the WWW browser.
* JShape map window's paint() is called.
* JShape [Execute] button is pressed and the specified online command is not
the JShape default online command. (This means the JShape default online
commands cab not be overwritten.)
* JShape [Query] button is pressed. (This mean the JShape default query
function can be overwritten.)
* JShape map window's mouse activities.
(3) In "external" class, there must be a dispatch routine to receive command
and argument parameters from JShape. The syntax of dispath routine is
following :
public int dispatch(String command,String argument)
(4) The following is the simplest external routine which does nothing.
/*
** source code : external.java
*/
/*
** external module must inherit from Link object
*/
class external extends Link
{
/*
** dispath routine
*/
public int dispatch(String command,String argument)
{
/*
** [init0] : triggered at the very beginning of JShape,
** most JShape APIs are not available at this time.
** return : don't care
*/
// if (command.equals("init0"))
// {
// return 0;
// };
/*
** [init] : triggered when JShape applet runs init()
** return : don't care
*/
// if (command.equals("init"))
// {
// jshape.ShowStatus("external : [init]\n");
// };
/*
** [start] : triggered when JShape applet runs start()
** return : don't care
*/
// if (command.equals("start"))
// {
// jshape.ShowStatus("external : [start]\n");
// };
/*
** [stop] : triggered when JShape applet runs stop()
** return : don't care
*/
// if (command.equals("stop"))
// {
// jshape.ShowStatus("external : [stop]\n");
// };
/*
** [destroy] : triggered when JShape applet runs destroy()
** return : don't care
*/
// if (command.equals("destroy"))
// {
// jshape.ShowStatus("external : [destroy]\n");
// };
/*
** [paint] : triggered when JShape applet runs paint()
** return : don't care
*/
// if (command.equals("paint"))
// {
// jshape.ShowStatus("external : [paint]\n");
// };
/*
** [execute] : triggered when "execute" button pressed
** online command is passed through "argument"
** return 0 : do not process external online command
** return 1 : process external online command
*/
// if (command.equals("execute"))
// {
// jshape.ShowStatus("external : [execute], online command : ["+argument+"]\n");
// };
/*
** [query] : triggered when "query" button pressed
** query criteria is passed through "argument"
** return 0 : do not process external query
** return 1 : process external query
*/
// if (command.equals("query"))
// {
// jshape.ShowStatus("external : [query], criteria : ["+argument+"]\n");
// };
/*
** [identify] : triggered when "identify" button pressed
** attribute record string is passed through "argument"
** return 0 : do not process external identify
** return 1 : process external identify
*/
// if (command.equals("identify"))
// {
// jshape.ShowStatus("external : [identify], attribute : ["+argument+"]\n");
// };
/*
** [mouseup] : triggered when "mouse-up" in the map window
** return : don't care
*/
// if (command.equals("mouseup"))
// {
// jshape.ShowStatus("external : [mouseup]\n");
// };
/*
** [mousedown] : triggered when "mouse-down" in the map window
** return : don't care
*/
// if (command.equals("mousedown"))
// {
// jshape.ShowStatus("external : [mousedown]\n");
// };
/*
** [mousedrag] : triggered when "mouse-drag" in the map window
** return : don't care
*/
// if (command.equals("mousedrag"))
// {
// jshape.ShowStatus("external : [mousedrag]\n");
// };
/*
** [mousemove] : triggered when "mouse-move" in the map window
** return : don't care
*/
// if (command.equals("mousemove"))
// {
// jshape.ShowStatus("external : [mousemove]\n");
// };
return(0);
}
}
(5) Execute the following command to compile "external" routine.
javac external.java
------------------------------------------------------------------------------
2.2 JShape External Interface Programming Environment
------------------------------------------------------------------------------
JShape 1.x is implemented in JDK 1.0.2. To avoid unexpected problems, JShape
External Interface routines for JShape 1.x need to be implemented in JDK 1.0.2
(or equivalent).
JShape 2.x is implemented in JDK 1.1+. To avoid unexpected problems, JShape
External Interface routines for JShape 2.x need to be implemented in JDK 1.1+.
(or equivalent).
Before start implementing JShape "external" routines, users need to unzip
JShape.zip and copy JShape Java class files to (1) the directory which is in
CLASSPATH. or (2) the directory which is used to implement "external" routines.
------------------------------------------------------------------------------
2.3 Java/JShape Coordination Systems
------------------------------------------------------------------------------
During the implementation of JShape "external" routines, users may need to
use JShape APIs to convert the spatial data to/from between Java/JShape
coordination systems. Here are the differences between these two systems.
(1) Java Screen Coordination System : (integer based)
(0,0)
*------------------------------------+>
|
| min (xmin,ymin)
| *----------------+
| | |
| | |
| +----------------*
| max (xmax,ymax)
|
+
V
Java Screen Coordination System is used to draw graphics in JShape map window.
(2) JShape Map Coordination System : (double precision based)
^
+
|
| max (xmax,ymax)
| +----------------*
| | |
| | |
| *----------------+
| min (xmin,ymin)
|
*------------------------------------+>
(0,0)
JShape Map Coordination System is used to store feature data and do spatial
calculation in JShape.
------------------------------------------------------------------------------
2.4 Basic JShape Class Objects
------------------------------------------------------------------------------
There are two basic class objects may pass between your "external" routine
and JShape.
class DPoint extends Object
{
public double dx; // double precision x-coordination value
public double dy; // double precision y-coordination value
public int x; // integer value of dx
public int y; // integer value of dy
public DPoint(double dx,double dy);
public DPoint(int x,int y);
}
class DRectangle extends Object
{
public DPoint min; // min point
public DPoint max; // max point
public double dwidth; // double precision width value of DRectangle
public double dheight; // double precision height value of DRectangle
public int width; // integer value of dwidth
public int height; // integer value of dheight
public DRectangle(DPoint min,DPoint max);
}
For Example :
DPoint dp1=new DPoint(123.456,0.001);
DPoint dp2=new DPoint(200,1);
DRectangle drect=new DRectangle(dp1,dp2);
System.out.println("drect.min.dx : "+drect.min.dx); // output : 123.456
System.out.println("drect.min.x : "+drect.min.x); // output : 123
System.out.println("drect.dheight : "+drect.dheight); // output : 0.999
System.out.println("drect.height : "+drect.height); // output : 0
------------------------------------------------------------------------------
2.5 JShape API
------------------------------------------------------------------------------
Please refer to http://www.jshape.com/api.htm for the complete JShape API
descriptions.
------------------------------------------------------------------------------
3 JShape in international languages
------------------------------------------------------------------------------
Inside JSHAPE.ZIP, there is a file "Language.java" contains the text strings
used in JShape. Users can modify this file, compile it, and replace the original
"Language.class" Java class file.
Starting from JShape 2.15, the internation language implementations can be
solved through modifications of JShape project parameters. Please refer to
http://www.jshape.com/workshop.htm for details.
------------------------------------------------------------------------------
4. User Buttons
------------------------------------------------------------------------------
Inside Language.java (comes with JSHAPE.ZIP), there are five variables
ButtonUser1Text ... ButtonUser5Text. Their initial values are blank.
If you set the non-blank value into these variables, JShape will dynamically
create user buttons for you.
For example : If you set the value of ButtonUser1Text to "Restaurant Info",
JShape will proceed the following things :
(1) Create a "Restaurant Info" button.
(2) When the "Restaurant Info" button is pressed, JShape will send "user1"
dispatch command to JShape external routine. The syntax of "user1" dispatch
command is following :
class external extends Link
{
public int dispatch(String command,String argument)
{
/*
** [user1] : triggered when "User1 Button" is pressed
** argument : contains the state of the user button.
** "0" means the CLEAR state, and "1" means the SET state
** return : don't care
*/
if (command.equals("user1"))
{
jshape.ShowStatus("external : [user1], state : "+argument+"\n");
};
return (0);
}
}
Starting from JShape 2.15, the user buttons can be bound to JShape Menu
Scripts directly without any above Java programming. Please refer to
http://www.jshape.com/workshop.htm for details.
------------------------------------------------------------------------------
5. Thematic Map Functions
------------------------------------------------------------------------------
1. Setup :
A. Specify the thematic map information file in JShape Applet. For Examples :
or
B. Set the thematic map information [ON|OFF], at the JShape startup time.
The default value is OFF. For Examples :
or
2. Thematic Map Information File :
The Thematic Map Infomation File is an ASCII-TEXT file contains the following
information :
(a) : Attribute Field Number : Specify the attribute field from the attribute
information file, which is use as thematic map display criteria.
(b) : Thematic Map Entries : The definition of Thematic Map Entry is the
following :
[Description],[Expression],[ForgroundColor],[BackgroundColor],[SymbolSize]
* The [Description] is used to display the information on the JShape legend
window.
* The [Expression] is used by JShape to evaluate the Thematic Map information.
The definition of [Expression] is the following :
Operator1 Value1 {Relation Operator2 Value2}
* The "Relation", "Operator2" and "Value2" fields can be optional.
* The valid "Operator"s can be :
eq : same string
!eq : different string
like : similar string
= : same number
!= : different number
> : greater than number
>= : greater-equal than number
< : less than number
<= : less-equal than number
default : return "true" without any comparisons, no value string required.
* The valid "Relation"s can be :
and : AND relation
or : OR relation
3. Thematic Map Information File Example 1 :
# Thematic Field
4
# Thematic Definitions
# [Description],[Expression],[ForgroundColor],[BackgroundColor],[SymbolSize]
>= 3.0 cfs,>= 3.0,null,null,14
>= 2.0 cfs,>= 2.0 and < 3.0,null,null,12
>= 1.0 cfs,>= 1.0 and < 2.0,null,null,10
>= 0.5 cfs,>= 0.5 and < 1.0,null,null,8
< 0.5 cfs,< 0.5 ,null,null,6
4. Thematic Map Information File Example 2 :
# Thematic Field
1
# Thematic Definitions
# [Description],[Expression],[ForgroundColor],[BackgroundColor],[SymbolSize]
grape,eq grape,null,cc3299,0
tomato,eq tomato,null,magenta,0
corn,eq corn,null,cyan,0
citrus,eq citrus,null,orange,0
avocado,eq avocado,null,fffbf0,0
forest,eq forest,null,green,0
------------------------------------------------------------------------------
6. JShape Script
------------------------------------------------------------------------------
JShape Script is the script which allows users to manipulate JShape features
& layers, complicated queries, and generate customized reports without any Java
programming efforts. The JShape script contains a sequence of script command.
The script commands are the superset of JShape online commands. All script
commands can be entered in the command window and executed by pressing Execute
button. Usually JShape Script is invoked by User Menu Commands.
Please refer to http://www.jshape.com/script.htm for the complete discussion
of JShape Script.
------------------------------------------------------------------------------
7. Encrypted Shapefiles
------------------------------------------------------------------------------
Encrypted Compressed Shapefile (.ecs) and Encrypted Grid Shapefile (.egd/.egs)
are used to protect important JShape GIS datasets not copied or downloaded by
remote users for other purposes. For example, if you want to publish an important
GIS data file "value.shp" to internet, but you don't want the remote users to get
a copy of it. Here is the solution for this problem :
1. Execute the following commands to generate Encrypted Compressed Shapefile or
Encrypted Grid Shapefile :
(a) fshape value1.shp compress key:http://www.my.com to generate value1.ecp,
which is encrypted with the key "http://www.my.com".
(b) fshape value2.shp grid:10:10 key:http://www.my.com to generate value2.egd
and a set of .egp files, which are encrypted with the key "http://www.my.com".
2. In JShape applet HTML file, specify the following information :
Since the encrypted shaprefiles are specified, JShape client will use the current
HTTP URL as the key to decrypt the input files value1.ecp and value2.egd. If the
current HTTP URL is other than http://www.my.com, JShape client can not process the
input encrypted shapefiles.
Notes :
1. All encryption key are case sensitive.
2. JShape supports the smart URL matching. For Examples :
(a) If you create a encrypted compressed shapefile value.ecp with the key
"http://www.my.com", then JShape has no problem to access it from
"http://www.my.com/gis/value.ecp" or "http://www.my.com/cad/value.ecp".
(b) If you create a encrypted compressed shapefile value.ecp with the key
"http://www.my.com/gis", then JShape has no problem to access it from
"http://www.my.com/gis/value.ecp", but JShape can not access it from
"http://www.my.com/cad/value.ecp".
------------------------------------------------------------------------------
8. JShape Application
------------------------------------------------------------------------------
Starting from JShape 2.02, JShape supports Java applications. The syntax of
JShape application is :
java jshape project-file [width] [height]
The project-file is the parameter file used in . Here is the sample of a simple project file :
# project parameters
project=JShape Project
unzoomratio=1
mbcolor=black
status=4
count=3
# layer1 parameters
layer1=calcity.shp
info1=calcity.txt
title1=City
fcolor1=green
lcolor1=green
size1=4
# layer2 parameters
layer2=calriver.shp
info2=calriver.txt
title2=River
fcolor2=blue
lcolor2=blue
# layer3 parameters
layer3=cal.shp
info3=cal.txt
title3=County
fcolor3=red
lcolor3=red
bcolor3=transparent
------------------------------------------------------------------------------
9. Invoke Menu in MapLegendMode or MapWindowOnly Modes
------------------------------------------------------------------------------
In MapLegendMode or MapWindowOnly modes, users can Right-Click mouse button
to get the JShape menu.
------------------------------------------------------------------------------
A. JSFrame Wrapper
------------------------------------------------------------------------------
JSFrame (jsframe.class) is a wrapper Java class for JShape. Instead of calling
JShape (jshape.class), users can call JSFrame directly. Here is an example of
JSFrame :
Parameter "framesize" defines the width of the frame border.
Parameter "framecolor" defines the color of the frame border.
------------------------------------------------------------------------------
B. Where to get JShape
------------------------------------------------------------------------------
* JShape clients are free for Web GIS developers. Please visit JShape homepage
http://www.jshape.com for details.