v1.4

siGGis H.a.R ware © M.Harašta 

Brief description:

 

This program is designed to display *.shp geographical files (ESRI - program ArcView) or it’s own *.sig format. The program can also configure applet siGGisApplet, siGGisEvent that is used for project presentation through an internet browser ( intranet/internet ). It allows easy manipulation with layers - setting of properties, description, fill layers with color, chose geoobject according to database information, attachment of external databases, allows to export maps to wmf, emf (windows metafile) or to copy maps to the clipboard. The program can save the current setting for later use. It can be placed on a server and used webwide. It can be interconnected with an external changes monitoring program.

Description of the program: Main panel

 

Contains basic features used to manipulate the geoObject layers.

The File menu offers these services::

  • Add… - adds the selected layer in the *.shp, *.sig format (if a layer database file exists, it is loaded).
  • Delete … - removes the current layer from the memory. The current layer can be selected either by clicking a geoObject in the map or by selecting the layer in Select layer service.
  • Open … - erases all open layers from the memory and loads a newly selected *.shp, *.sig layer.
  • Save … (*.siGGis) - saves the currently opened layer to the internal *.sig format.
  • Open project - erases all layers from the memory and loads the selected siGGis project.
  • Save *.hgf - saves the current state of the project under construction to the project file.
  • Copy map to clipboard - saves the current map range to the clipboard in a vector format that can be printed in your favorite editor.
  • Export map (metafile) - saves the current map range to a *.wmf vector format file for use in any graphics program.
  • Import layer from ASCII - load new layer from import file.
  • Export layer to ASCII - save layer (*.shp, *.sig ) to ASCII file (.. modifying and back import ).

 Open *.shp or *.hgf file in to a current map window:

First row of Main panel enables basic manipulation with the map:

  • Enlarge the map window content (it’s possible to use the mouse - click and drag)
  • Reduce the size of map window
  • Set the original size

Second row enables project description with predefined dates:

  • State of the first button - description info : if the geoObject description is defined double-click on the left button in the map will show the objects characterization
  • State of the first button - description draw : if the GeoObject description is defined clicking of the left mouse button will write down information about that geoObject in to a map on a current position according to a defined description entry in a database. Right mouse button click on a described geoObject will erase information about it.  Holding down the Shift key together with right mouse button edits the description
  • State of the first button - Hide info : hides all existing geoObjects descriptions

Cancel button - deletes all existing descriptions from the map.

Switches on the Main panel :

  

Window with the map - shows or hides the current map window.

Database - shows/hides - window containing geoObject information of the selected layer

Information about the current active geoObject:

Mode full table - position of the actual geoObject in the attached database. Database can be sorted by any entry - double-click on any column.

Column width can be changed by before printed by dragging the border line in the column description field

 Description of Database window’s buttons:

Set: - Opens a window that allows to set attributes of the gird (hide unwanted items, change order of entries, change entry’s titles and connect any *.dbf files using the join entry).

  • Order Change - drag the desired entry in the first column up or down
  • Title Change - double-click in the second column activate the edit mode
  • Hide/show - double-click in the third column

  Addition to a database :

  • Classic way: open the database with the Open database button and choose the connection entries (main dBase - connect dBase). You can connect up to 1024 entries (memory limits)
  • Define the action (e.g. : open html file with detail geoObject description, following reference to additional information) for double-click on a left mouse button in a database table on a description of a geoObject - dblClick - def button.

     

…. selectData - assist to choose the database entry that will contain data for parameter generation according to database

Example :

geoObject is described in the document on an address (HD) :

http://city.geo.cz/lay_123/object_xx3457.html , selected entry of current database of geoObjects can contain :

  • complete path to the document: http://city.geo.cz/lay_123/object_xx3457.html is in database field (...selectData), 2. and 4. window’s content is empty
  • part of the path lay_123/object34567 and the rest is defined trough the 2. and 4. edit window
  • complete path to the document  http://city.geo.cz/lay_123/object_xx3457.html contains 2. edit window, entry of the database is not selected 4. window is empty
  • …..

Confirm all changes by pressing Ok button

Print the table :

Print window enables to choose the font, header, and printer setting for the current database printing.

Find Objects - opens dialog window for keys to find the geoObjects in the layers by the value of entered text.

Finding of geoObjects can be more specified by selecting of the particular layer or by selecting particular dBase entry. Switch equal - will find the geoObjects if they contain the exact some text as entered. Switch within - will find any geoObjects that contains somewhere in description the entered string.

Button Show all  will show all corresponding geoObjects and show them in map window

Objects selection - enables to define set of geoObjects in particular layers according to values in databases. Colors can be changed for individual geoObjects sets.

Object selection will be preformed according to chosen database entries that corresponds with the Operator description:= equal to value ,<> unequal to,> bigger then,< less then,in value is in range of border values (including) the only allowable format : x..y entered manually to the window for limitation,geoObject color in (according to….) if the selected layer is original the goeObjects will be colored in according to default definition (set layers). If the set color value is active the color of the geoObject can be selected: If the window for selecting the entry (SES_ID) stays clear then for polygons Red ( RGB 255:0:0 ) determinates the color of the outlines and Yelow the color of the filling. For the line Yelow has no meaning and the color of the line is determinated by Red. By selecting the SES_ID entry form the database, Red determinates the color of geoObject with lowest value of SES_ID and Yellow is the color of geoObject with the highest SES_ID value. Mixed color (RedYelow) will be given to other geoObject corresponding with ratio of  SES_ID.

Next select: - biding of following selection : value determinates logical biding between definitions. OR means also. AND means that the selected object has to corresponds with both conditions. BLANK represents no logical value

e.g.:

Definition: x > 5 and x <> 8  select into group this values: 1,2,3,4,5,6,7,8,9,10,11..

Definition actualization :

  • Select by double-clicking on the definition in the table (load the values).
  • Change the attributes ...
  • Apply the actualization y pressing the update line button

Set layers:

Tip: service Fill color and OutLine color. You can write your color in service's textField ( RGB model (e.g.:  218:118:218 ) - separator is :)

 

 

 

 

 

 

 

 

Option enables to change the geoObject attributes in selected layers. The color, style, size (for points) of geoObject can be set. Define entry and font for geoObject’s description (any database entry can be used as a description)

If the current layer is a layer of polygons or lines then type can be changed by clicking the mouse on the layer.

Warning : that service works without any problems in the Polygon to line direction in the reversed direction just in case that lines creates a closed polygon. If lines doesn’t represent a polygon the result may be unpredictable. If the lines forms a polygon the filling of this polygon can be changed. The service can be used in case of :

  • when a less important layer shields more important ones. Then the conversion allows to change the style of the outline and also disable the identification for that layer when clicked on with the mouse.
  • Of the lines forms the polygon the polygon can have colorful filling and can have the identification attribute when clicked on that geoObject.

Legend : shows/hides the window containing information about loaded layers. Offers to show and hide a layer or to change order of layers.

right mouse button - edits the legend of current layer

Double-click on the text switches on/off the layer

Change the order : click on the icon and drag up or down

Current Object - shows/ hides window for

a) insert semifinished project into *.hgf project file

b) enables to actualize the open project file

 

 Current project - show / hide window:

The project file is assigned complete save of all information about the semi-finished state. It has sense just when using the Project Selection service. Add selection button offers a window for the project’s title definition and prepares it for save in to *.hgf. Actualize button enable to change the name of loaded *.hgf file. Any project can be described in a memoPanel.

Project List - shows/hides the list of defined project in siGGis.INI file.

Section : [Project]

Count - number of projects if > 0 window containing list of defined projects will automatically open if the program was launched without any parameters. As parameters names of files (*.shp, *.hgf) can be used.

pth_x - path to the x th project

prj_x - name of the x th project

When the program finds a project with a path pth_x it will search the place determinates in [Path] section - pth_x - project. If the search fails it searches in the Program_siggis\data\project directory (if exists). Correspondingly works for *.shp, *.dbf files defined in individual projects.

 

 Menu - Options

  

 

Language service switches between languages (define in siGGis.INI file, section [language])

fstName entry - text in the 1. menu’s row nxtName entry - text in the 2.menu’s row actual entry - chosen language.

List of predefined languages in entries fst_x and nxt_x :

By selecting the Default service (F12) the implicit languages English and Czech are going to be prepared for saving into siGGis.INI file

Service Properties:

The whole section of all general attributes of Default F12 service can be switched off in the menu by the noConfig = 1 entry in [General] section, and turned on (enabled) by value noConfig = 0 (siGGis.INI).

Save when finished if the Update INI file service is selected, the current setting of all attributes is going to be saved. Entry path to… determinates where will the program search for .shp and .dbf files that are defined in .hgf file if the program won’t find them. If it won’t find them even in those places it will search the directory of the program siGGis and it’s subdirectories ..\data\Project ( *.hgf) , .. \data\Vector\vector (*.shp,*.dbf) a ..\data\Table (other files *.dbf for connection), if existing.

Redefine keyboard (HelpKey) for help :

Service will define actions (launch help program describing e.g. projects, supportive database etc.). If the entry is defined the service can be reached in file menu of the program.

Czech Language Service has sense just for Czech GIS it determinates what code page will be used to display text from database files.

Set events service is designed as a interface between program siGGis and other programs or systems. Using this service you can use the program as a monitor for watching changes of geoObjects outside siGGis

EventFile path - file of events : determinates where will the program search for file for defined changes. If this field is empty the implicit directory of the program : data\Events\ will be searched.

EventFile name : name of the file of events that will be used when activated .

Interval/seconds : sets freqention for watching the changes.

 

Event process : Single file - event changes in file event.mon. Multiple files - event changes in file Xevent.mon (X: 0 to EventFileCount - 1 ( 0event.mon to 49event.mon )).

Repeat: for process Multiple files(0..49,0..49..).

Reload project: - for setting Repeat - loading original setting of geoObjects - before 0event.mon.

Description of properties the geoObject attributes - file event.mon.

The service prepare configFile and export data for applet siGGisEvent .If is disabled checkbox Default window, allowed definition of appletWindows ( place, hight, width ).

 

The service Export is assigned complete save of all information about the project in applet's configuration file - siGGis Applets

Description:

Export directory -   determinates where will the program save all vector/database files(*.sig, *.dbf).

Into vector files : All geoObjects - exports and saves complet layers , setting: Only selected geoObjects -  creates vector files of geoObjects in particular layers according to values in databases .

Into database files : All database fields - export only one file*.dbf for one layer *.sig (complet database with all fields - Classic way ). The Switch: Only selected fields -. create one new optimal file - *.dbf, include only showed fields( sign "Yes" - service: Set.). Warning: In the new database have to be the define fields - Objects selection.

Applet setting:

Config fileName - define name.cfg - configuration applet file. It is created prototip file name.htm (include the definition of applet running) and name.log - file of export progress . If the Layer_name.zip(In the archive must be include all vector/database files) service is selected, the cross-reference of archive file (URL_applet/Data/name.zip) is going to be saved in appletConfig file - name.cfg.

Data path: - determinates where will the applet search for *.sig and *.dbf files.

E.g.:

  1. The place on local net: f:\Gis\Geo123\geo123.html. When is open document, the applet is running , is readed the URL_applet : file:/f:/Gis/Geo123. The archive file (gis_1x.zip) must be place in subdirectories URL_applet: f:\Gis\Geo123\Data\gis_1x.zip.
  1. The place on internet: http://geoGis.xyz.ce/Geo123/geo123.html. When is open document, the applet is running , is readed the URL_applet: http://geoGis.xyz.ce/Geo123/. The archive file (gis_1x.zip) must be place in subdirectories URL_applet: http://geoGis.xyz.ce/Geo123/Data/gis_1x.zip.

Button: Define dbf action - Open a window that allows to Define the action (e.g. : open html file with detail geoObject description, following reference to additional information, load configuration file *.cfg - other map) or fill in AppletProjects list.

Example :

135 th geoObject is described in the document on an address:

http://geogis.xyz.ce/fLay0/ID135.html., selected entry of current database of geoObjects can contain :

  • complete path to the document: http://geogis.xyz.ce/fLay0/ID135.html is in field TERI_ID, all others column's content is empty.
  • part of the path 135 is in field TERI_ID, and the rest is defined trough the 3. and 5. columns
  • complete path to the document  http://geogis.xyz.ce/fLay0/ID135.html. contains 3. edit window.
  • …..

The dbf Action may be start from applet window:.

The type of Action is depend on your internet browser.

A several types for MSIExplorer:

  • Open file in MSIE:  f:\Gis\Data\Geo123.html : distil: file:///f:\Gis\Data\Geo123.html
  • Run other program with associate file:  c:\Doc\Data\Geo123.doc : distil:  file:///c:\Doc\Data\Geo123.doc (The file *.doc must be associate with any program when will be launch).
  • Send e-mail to address:  xxx123@email.com: distil:  mailto:xxx123@email.com

 siGGisApplet

siGGisApplet - is included in sigfree.zip. Applet is designed to viewing and presentation geographical projects through an internet browser. Applet's configuration is made by service: Export. You can export new layers (*.sig - format for internet) according to setting ( only seleced geoObjects, only displayed database's fields of all joining). You can define any action for selected geoObject (e.g.: show *.html document, run any program associated with document type, run post program and sending e-mail - is generated e-mail address is cames from geoDatabase, load other map...).All files can be pack in to archive file (ZIP).The working with applet is same as with program siGGis.The Applet was on trial through an internet browser (MSIE v4.0 - higher).Does not require any action from server(....CGI scripts etc), doesn't need JDBC/ODBC interface.

Limits:

Polygons - only solid or transparent fill, lines - only solid line, labels only default font, style is limited normal,italic,bold,boldItalic.

siGGisEvent - applet - is designed to join with another programs or systems and monitor events (change geoObject's properties ). The changes can be defined - generated anoder programs - in same ASCII file ( type *.INI ).Does not require any action from server(....CGI scripts etc), doesn't need JDBC/ODBC interface.

Intention:

Applet siGGisEvent is scanning content of ASCII file - eventFile. The eventFile can be placed on a server or local PC ( URL - intranet / internet / PC ) . It can be selected a type of monitor:

  1. Continual scanning single file (e.g.:single process GPS - change of  location - geoObject, state of properties... ).
  2. Process simulaction - composite from X events ( e.g.: multiple process - gradually scanning X-1 eventFiles)
  3. Combine 1) and 2) ( e.g.: multiple process - periodic scanning 2 eventFiles: first file: check setting, second file: any events...<< repeat )

 

The eventFile ( siGGisEvent v 1.4 )- command description:

[Dynamic] - section for creating and editing new geoLayers
createLayer = LAYER_NAME|POINT/LINE/POLY|LABEL|x0|y0|...xX|yY
setLayerFont = LAYER_NAME|1/0{show/hide}|COLOR|SIZE|TYPE{0/1/2/3:normal/bold/italic/boldItalic}|
addObject = LAYER_NAME|LABEL|x0|y0|...xX|yY
modifyObject = LAYER_NAME|RECORD|LABEL|x0|y0|...xX|yY
 
; createLayer : create new layer LAYER_NAME, selected type, create virtualy database of geoObjects with Label field fill in of LABELcontents. If layer ; ; LAYER_NAME is not existing next commands is ignored.
; setLayerFont: set font properties (geoObject - Label) in import layer LAYER_NAME. 1/0 show/hide exist Labels, COLOR: set Label color , SIZE: set ; font size (0: not draw, -1: SIZE: 0.5 ), TYPE: font type.
; addObject: add next geoObject in layer LAYER_NAME and fill in database of  LABELcontens.
; modifyObject: replace geoObject number RECORD in layer LAYER_NAME new geoObject, LABEL
 
[Static] - sektion: static event ( !!! after [Dynamic] section if is used !!! )
load = URL/nameFile.cfg - load new project file ( new mapProject )
interval = S  - count second ( scanning frequency )
countEvent = X  - count event
zoom = x.x -  zooming  setting ( x.x  <> 0  :  e.g.: zoom = 1.5 or zoom = -0.5)
resetMap =  0/1 - No/Yes - redraw map window ( Reset )
resetAll =  0/1 - No/Yes - reset geoObject's properties - according to last configFile *.cfg. Reset count of multiEvents - repeat process
refresh =  0/1 - No/Yes - redraw map window (actual zooming)
eLayer[1..X] =  - number of  layers into project file.
eObject[1..X] = - number of  geoObject
eObjectType[1..X] = - number of  type geoObject  
eObjectSize[1..X] = - number of  size geoObject (only point: 5..25)
eRangeColor[1..X] = 0/1 - No/Yes - fill geoObject (graduated color)
if eRangeColor[1..X] = 1 then fillColor will be calculated:
eBeginColor[1..X] = - for minimum value
eEndColor[1..X] = - tor maximum value
eMaxValue[1..X] = max. value
eMinValue[1..X] = min.value
eValue[1..X] = value in [max .. min]
if eRangeColor[1..X] = 0 then fillColor is define:
eFillColor[1..X] =
eOutLineColor[1..X] = - outline 
eDblOutLine[1..X] = 0/1 - No/Yes - double thickness outline (point,polygon), line geoObject
eCentre[1..X] = 0/1 - No/Yes - centre geoObject - map window
eCentreZoom[1..X] = 0/1 - No/Yes - centre + zoom geoObject - map window
eBlink[1..X] = 0/1 - No/Yes - blink geoObject
eReset[1..X] = 0/1 - No/Yes - reset properties of geoObject
eBeep[1..X] = 0/1 - No/Yes - beep
eHide[1..X] = 0/1 - No/Yes - hide/show geoObject
eMoveX[1..X] = x - change of  location X geoObject
   1) new location ( X:...1234,1234... or ...1234.1234...)
   2) adding/decreasing  m/p : minus/plus ( e.g.: p-50,5  add value to current X:   -1234.1234 + (-50,5) )
eMoveY[1..X] = y - change of  location Y geoObject.
eMessage[1..X] = link text message : List Event window ( ~x,~y is replaced current X,Y of geoObject)
eLabelSet[1..X] = abcd 1234 : show and set labelText of geoObject 

  Export / Import geoObjects

1) Detail format to editing and back importing ( *.d01 ):

Description - structure import ASCII file(Separator = |):

Layer = LAYER_NAME 
Type = POINT/LINE/POLY
NUM_RECORD0|NUM_POINT0|x0|y0
NUM_RECORD0|NUM_POINT1|x1|y1
: : : :
NUM_RECORDX|NUM_POINTY|xZ|yZ
 
LAYER_NAME:  name new layer ( legend, comboBox...)
TYPE : Type of  layer - point, line ( polyline ) or simple polygon ( multipolygon a multipoint not supported)
NUM_RECORDX: geoObjects number in layer  (0..count_geoObjects -1)
x0|y0: coordinate of current point ( integer or double)

2) Format for events (new laers, modify new geoObjects -  siGGisEvent - *.e01)

Description - structure import ASCII file(Separator = |):

createLayer = LAYER_NAME|POINT/LINE/POLY|LABEL|x0|y0|...xX|yY
setLayerFont = LAYER_NAME|1/0{show/hide}|COLOR|SIZE|TYPE{0/1/2/3:normal/bold/italic/boldItalic}|
addObject = LAYER_NAME|LABEL|x0|y0|...xX|yY
modifyObject = LAYER_NAME|RECORD|LABEL|x0|y0|...xX|yY
 
createLayer : create new layer LAYER_NAME, selected type, create virtualy database of geoObjects with Label field fill in of LABELcontents. If layer LAYER_NAME is not existing next commands is ignored.
setLayerFont: set font properties (geoObject - Label) in import layer LAYER_NAME. 1/0 show/hide exist Labels, COLOR: set Label color , SIZE: set font size (0: not draw, -1: SIZE: 0.5 ), TYPE: font type.
addObject: add next geoObject in layer LAYER_NAME and fill in database of  LABELcontens.
modifyObject: replace geoObject number RECORD in layer LAYER_NAME new geoObject, LABEL

 

 Description configuration file INI:

  

 [Language]
fstName - first language( first menu row - item Language)
nxtName - second language ( second row - item Language)
actual - (0/1: first/second language)
fst_1 - text - first language
nxt_1 - text - second language
fst_x - text -  first language (x - th text)
nxt_x - text v druhém jazyce (x - th text)
cPage - code page ( default IBM: 6 )
[Paths] - position for vector/database files from *.hgf
update - update configuration siGGis ( 0/1: no/yes)
Project - path to files *.hgf
Vector - path to files *.shp, *.dbf
dBase - path to next files *.dbf  ( e.g.: for joining )
hlp1 - path with name of 1.help file(key F1) - item: hlpPar1
hlp2 - path with name of 2.help file(keys Ctrl+F1) - item: hlpPar2
hlp3 - path with name of 3.help file(keys Shift+F1) - item: hlpPar3
[General] - setting
noConfig - enable/disable setting - service Properties - General (for update INI file): 0/1 - no/yes
[Projects] - projects *.hgf - in projects list.
count - count project files for select window Project List ( if is > 0, is open select window )
prj_1 - first project file in select window  Project list
pth_1 - path to first project file in select window  Project list
:
prj_count - count project file in select window  Project list
pth_count - path to count project file in select window  Project list
 

 System requirements:

  

  • Program is made for Windows (W95,W98,NT...).
  • 1 MB free size for program. 
  • Easy to install  "unpack and run.. :-)".  
  • Program is determine for files *.shp (ESRI ArcView, type 9994 - point,arc,poly - no multipoint) and own format *.sig.
  • Program is working with files *.dbf (dbf III... dbf V..., don't support memo,blob items..), without index files - have own simple database engine.

    © Milan Harašta,  H.a.R ware (http://web.quick.cz/siggis)