From: Victor Wagner Date: Sat, 25 Feb 2006 14:08:38 +0000 (+0000) Subject: Added fGIS X-Git-Url: http://wagner.pp.ru/gitweb/?a=commitdiff_plain;h=e8890a31f945acef02c617264aa041a6ace03366;p=sites%2Fhome_page.git Added fGIS --- diff --git a/geography/fGIS/EPU.html b/geography/fGIS/EPU.html new file mode 100644 index 0000000..596966b --- /dev/null +++ b/geography/fGIS/EPU.html @@ -0,0 +1,125 @@ + + +Environmental Planning Utilities + + +[f(GIS) home] +
+

Environmental Planning Utilities

+ +

Overview

+Environmental planning utilities is set of stand-alone programs, which +performs GIS operations on EPPL7 data files. EPPL stands for "Environmental Planning Program Language". When I begin to reimplement some EPPL commands trying to overcome some +limitations of 16-bit DOS environment, I found that it is complete waste of effort - attempt to implement yet another scripting language while we have such +a wonderful things as Unix shell or Tcl. +

+So, it is not a language, but set of utilities. They are designed to operate +non-interactively, from batch files or scripts. Interactive front end is +provided by f(GIS). +

+

Utilities

+ +EPU include: + +

System requirements

+ +EPU should work on any system which is 32-bit and has ANSI C compilier. +They have been tested under Linux, Solaris/Sparc and +MS-DOS with DOS4GW extender (Watcom C 10.0). It is essential +that system should support concept of standard input/output and exit codes, +so porting to Win32 should be trivial, but porting to MacOS would require +major redesign. + +
+[f(GIS) home] + + diff --git a/geography/fGIS/TODO.txt b/geography/fGIS/TODO.txt new file mode 100644 index 0000000..0c9dbc0 --- /dev/null +++ b/geography/fGIS/TODO.txt @@ -0,0 +1,82 @@ +Near future + +Fgis tcl extension: + +1. Compile tcl extension for NT/Win 95 + +2. Finish pattern handling (patterns set index xbm-data) + +3. Write drawing of patterned raster + +4. Write projection object + +5. Finish editing primitives + +6. Separate tk-dependent part from non-GUI part of C code. + +Tcl scripts + +1. Invent interface to call EPU from within TCL + +2. Complete chart (choropleth) type of layer + +3. Write tag (point) type of layer + +4. Invent standartized interface to SQL databases (Postgres, Oracle, + ODBC for start) + +5. Write ``object'' layer - collection of arbitrary Tk canvas items, + which are treated as layer and can be saved and loaded + +6. Add grid visualisation code to planchet + +7. Write postgres Tcl-dbi module. Polish TclDBI for Oracle, ODBC and + postgres and include them into distribution + +8. Finish layer properties dialog in mapview + +EPU + +1. Debug outtable + +2. Write projection conversion tool + +3. Write evaluate AKA mapcalc + +4. Do something with border and debug rasterize + +5. Write ppmtoepp and epptoppm converters + +6. Design and write RADIUS + +7. Design and write INTERPOLATE + +8. Design and write mapclass + +Distribution: + +1. Polish top-level Makefile + +2. Provide example dataset + +3. Write installation program for Win32 binary distr. + +4. Separate third-party extensions like Hobbs' megawidgets from + home-grown scripts + +5. Put binary distribution of Tcl with neccessary extensions + on ftp + +Documentation + +1. Fill holes in docs for already written commands + +3. Translte epp_lib docs to English + +4. Complete (and translate to english) EPU manual + +IDEAS TO CONSIDER + +fGIS user environment should be able to store layers in RCS + +Invent and document, and eventually implement, vector format diff --git a/geography/fGIS/concept.html b/geography/fGIS/concept.html new file mode 100644 index 0000000..ddddc78 --- /dev/null +++ b/geography/fGIS/concept.html @@ -0,0 +1,313 @@ + + +fGIS Concept + + +

ëÏÎÃÅÐÃÉÑ ÆÕÎËÃÉÏÎÁÌØÎÏÊ GIS

+ +
+ üÔÏÔ ÄÏËÕÍÅÎÔ ÕÓÔÁÒÅÌ! + ôÅËÕÝÅÅ ÏÐÉÓÁÎÉÅ ËÏÎÃÅÐÃÉÉ ÉÍÅÅÔÓÑ ÔÏÌØËÏ × × +ÁÎÇÌÉÊÓËÏÊ ×ÅÒÓÉÉ, ËÁËÏ×ÏÅ ÐÏÌÏÖÅÎÉÅ É ÓÏÈÒÁÎÉÔÓÑ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ +ËÔÏ-ÎÉÂÕÄØ ÉÚ ÒÕÓÓËÏÑÚÙÞÎÙÈ ÞÌÅÎÏ× ËÏÍÁÎÄÙ ÎÅ ×ÏÚØÍÅÔÓÑ ÐÏÄÄÅÒÖÉ×ÁÔØ +ÒÕÓÓËÕÀ ×ÅÒÓÉÀ ÄÏËÕÍÅÎÔÁÃÉÉ. õ ÍÅÎÑ ÐÒÏÓÔÏ ÎÅÔ ÓÉÌ ÎÁ Ä×Å ×ÅÒÓÉÉ +ÄÏËÕÍÅÎÔÁÃÉÉ +ÏÄÎÏ×ÒÅÍÅÎÎÏ, ÐÏÜÔÏÍÕ Ñ ÐÏÄÄÅÒÖÉ×ÁÀ ÔÏÌØËÏ ÁÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ, ËÁË +ÄÏÓÔÕÐÎÙÊ ÂÏÌØÛÅÍÕ ÞÉÓÌÕ ÐÏÔÅÎÃÉÁÌØÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ. +
+
    +
  1. ïÐÒÅÄÅÌÅÎÉÅ +
  2. ôÏÞÎÏÓÔØ ËÁÒÔÙ. +
  3. çÄÅ ÖÅ ËÏÎÔÕÒ? +
  4. ïÐÅÒÁÃÉÉ Ó ËÁÒÔÁÍÉ. +
  5. ÷ÉÚÕÁÌÉÚÁÃÉÑ ËÁÒÔ É ÍÅÔÁÄÁÎÎÙÅ. +
  6. íÁÓÛÔÁÂÎÙÊ ÒÑÄ ÉÌÉ ÉÅÒÁÒÈÉÑ ÒÅÇÉÏÎÏ× +
  7. ðÒÉÎÃÉÐÙ ÐÏÓÔÒÏÅÎÉÑ ÓÉÓÔÅÍÙ +
  8. á×ÔÏÍÁÔÉÞÅÓËÁÑ ÁËÔÕÁÌÉÚÁÃÉÑ ËÁÒÔ. +
+ + + +÷ ÄÁÎÎÏÍ ÔÅËÓÔÅ ÐÒÅÄÌÁÇÁÅÔÓÑ ÎÏ×ÙÊ ÐÏÄÈÏÄ Ë ÐÒÅÄÓÔÁ×ÌÅÎÉÀ +ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÏÊ ÉÎÆÏÒÍÁÃÉÉ. ïÎ ÎÅ ÓÏ×ÓÅÍ ÎÏ×ÙÊ. íÎÏÇÉÅ ÓÕÝÅÓÔ×ÕÀÝÉÅ +çéó, ÏÓÏÂÅÎÎÏ ÏÒÉÅÎÔÉÒÏ×ÁÎÎÙÅ ÎÁ ÏÂÒÁÂÏÔËÕ ÓÎÉÍËÏ×, ÎÅÑ×ÎÏ ÉÓÐÏÌØÚÕÀÔ +ÅÇÏ. îÏ ÎÉËÔÏ ÅÝÅ ÎÅ ÐÙÔÁÌÓÑ × Ñ×ÎÏÍ ×ÉÄÅ ÓÆÏÒÍÕÌÉÒÏ×ÁÔØ ÅÇÏ É ÐÏËÁÚÁÔØ +ÅÇÏ ÄÏÓÔÁÔÏÞÎÏÓÔØ ÄÌÑ ÂÏÌØÛÉÎÓÔ×Á çéó-ÚÁÄÁÞ. +

+

ïÐÒÅÄÅÌÅÎÉÅ

+ îÁÚÏ×ÅÍ ËÁÒÔÏÊ ÆÕÎËÃÉÀ ÏÔ ËÏÏÒÄÉÎÁÔ, ÏÐÒÅÄÅÌÅÎÎÕÀ ÎÁ ÎÅËÏÔÏÒÏÍ + ÐÏÄÍÎÏÖÅÓÔ×Å ÐÏ×ÅÒÈÎÏÓÔÉ ÚÅÍÎÏÇÏ ÛÁÒÁ É ÐÒÉÎÉÍÁÀÝÕÀ ÌÉÂÏ ÞÉÓÌÏ×ÙÅ + (×ÅÝÅÓÔ×ÅÎÎÙÅ) ÚÎÁÞÅÎÉÑ, ÌÉÂÏ ÚÎÁÞÅÎÉÑ ÉÚ ËÁËÏÇÏ-ÔÏ ËÏÎÅÞÎÏÇÏ ÍÎÏÖÅÓÔ×Á. +

+ ðÏÞÅÍÕ ÜÔÏÇÏ ÄÏÓÔÁÔÏÞÎÏ? +

    +
  1. ïÂÌÁÓÔØ ÏÐÒÅÄÅÌÅÎÉÑ ÍÏÖÅÔ ÂÙÔØ ÌÉÂÏ ÎÅÐÒÅÒÙ×ÎÙÍ ÕÞÁÓÔËÏÍ ÔÅÒÒÉÔÏÒÉÉ, + ÅÓÌÉ ÎÁÓ ÉÎÔÅÒÅÓÕÅÔ ÆÅÎÏÍÅÎ, ÉÍÅÀÝÉÊ ÐÌÏÝÁÄÎÕÀ ÐÒÉÒÏÄÕ, + ÌÉÂÏ ÍÎÏÖÅÓÔ×ÏÍ ÌÉÎÉÊ (ÄÏÒÏÖÎÁÑ ÓÅÔØ, ÒÅÞÎÁÑ ÓÅÔØ), ÌÉÂÏ ËÏÎÅÞÎÙÍ +ÍÎÏÖÅÓÔ×ÏÍ ÉÚÏÌÉÒÏ×ÁÎÎÙÈ ÔÏÞÅË (ÎÁÓÅÌÅÎÎÙÅ ÐÕÎËÔÙ, ÔÏÞËÉ ÏÐÒÏÂÏ×ÁÎÉÑ). +

    + ïÞÅ×ÉÄÎÏ, ÞÔÏ ×ÓÅ ÓÕÝÅÓÔ×ÕÀÝÉÅ ÓÐÏÓÏÂÙ ËÁÒÔÏÇÒÁÆÉÞÅÓËÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ + ÐÏÚ×ÏÌÑÀÔ ÉÚÏÂÒÁÚÉÔØ ÏÂßÅËÔÙ, ÏÔÎÏÓÑÝÉÅÓÑ Ë ÏÄÎÏÊ ÉÚ ÔÒÅÈ ÜÔÉÈ ÇÒÕÐÐ. + +

  2. ìÀÂÏÊ ÐÁÒÁÍÅÔÒ, ËÏÔÏÒÙÊ ÍÙ ÍÏÖÅÍ ÉÚÏÂÒÁÚÉÔØ ÎÁ ËÁÒÔÅ, ÌÉÂÏ + ËÏÌÉÞÅÓÔ×ÅÎÎÙÊ, ÌÉÂÏ ËÁËÉÍ-ÔÏ ÏÂÒÁÚÏÍ ËÌÁÓÓÉÆÉÃÉÒÏ×ÁÎ. åÓÌÉ ÍÙ ÒÁÓÓÍÏÔÒÉÍ + ËÌÁÓÓÉÆÉËÁÃÉÀ ËÁË ËÏÎÅÞÎÏÅ ÍÎÏÖÅÓÔ×Ï ËÌÁÓÓÏ×, ÔÏ ÓÔÁÎÅÔ ÏÞÅ×ÉÄÎÏ, ÞÔÏ + ×ÓÅ ËÁÒÔÙ ËÁÞÅÓÔ×ÅÎÎÙÈ ÐÒÉÚÎÁËÏ× (ÐÏÞ×ÅÎÎÙÅ, ÒÁÓÔÉÔÅÌØÎÙÅ É ÄÁÖÅ ÁÄÍÉÎÉÓÔÒÁ- + ÔÉ×ÎÏÅ ÒÁÊÏÎÉÒÏ×ÁÎÉÅ) ÐÏÐÁÄÁÀÔ ÐÏÄ ÎÁÛÅ ÏÐÒÅÄÅÌÅÎÉÅ. +
+åÄÉÎÓÔ×ÅÎÎÏÅ × ÎÁÛÅÍ ÏÐÒÅÄÅÌÅÎÉÉ, ÞÔÏ ÍÏÖÅÔ ×ÏÚÍÕÔÉÔØ ÞÅÌÏ×ÅËÁ, ÐÒÉ×ÙËÛÅÇÏ +ÒÁÂÏÔÁÔØ Ó ÂÕÍÁÖÎÙÍÉ ËÁÒÔÁÍÉ, ÜÔÏ ÔÏ, ÞÔÏ ÍÙ ÐÏÚ×ÏÌÑÅÍ ËÁÒÔÅ ÉÚÏÂÒÁÖÁÔØ ÔÏÌØËÏ +ÏÄÉÎ ÐÏËÁÚÁÔÅÌØ, × ÔÏ ×ÒÅÍÑ ËÁË ÎÁ ÂÕÍÁÖÎÙÈ ËÁÒÔÁÈ ÏÂÙÞÎÏ ÏÄÎÏ×ÒÅÍÅÎÎÏ +ÉÚÏÂÒÁÖÁÅÔÓÑ ÎÅÓËÏÌØËÏ ÔÅÍÁÔÉÞÅÓËÉ ÓÈÏÄÎÙÈ ÐÏËÁÚÁÔÅÌÅÊ, ÎÅ ÓÞÉÔÁÑ +ÏÂÝÅÇÅÏÇÒÁÆÉÞÅÓËÏÊ ÓÉÔÕÁÃÉÉ. +

+íÙ ÎÁÍÅÒÅÎÎÏ ÉÄÅÍ ÎÁ ÜÔÏ ÏÇÒÁÎÉÞÅÎÉÅ, ÐÏÓËÏÌØËÕ ÏÎÏ ÏÂÌÅÇÞÁÅÔ ÄÁÌØÎÅÊÛÕÀ +ÒÁÂÏÔÕ Ó ËÁÒÔÁÍÉ. òÁÚÄÅÌÉ× ËÁÖÄÕÀ ÉÓÈÏÄÎÕÀ ËÁÒÔÕ ÎÁ ÎÅÓËÏÌØËÏ ÓÌÏÅ×, +ËÁÖÄÙÊ ÉÚ ËÏÔÏÒÙÈ ÏÔ×ÅÞÁÅÔ ÔÏÌØËÏ ÚÁ ÏÄÉÎ ÐÏËÁÚÁÔÅÌØ, ÍÙ ÐÏÌÕÞÁÅÍ ÐÏÌÎÕÀ +Ó×ÏÂÏÄÕ ÐÒÉ ÐÏÓÔÒÏÅÎÉÉ ÐÒÏÉÚ×ÏÄÎÙÈ ËÁÒÔ. íÙ ÍÏÖÅÍ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ +ÁÎÁÌÉÚÅ ÌÀÂÙÅ ÐÏËÁÚÁÔÅÌÉ, ÎÅ ÏÂÒÁÝÁÑ ×ÎÉÍÁÎÉÅ ÎÁ ÔÏ, ËÁËÉÍ ÐÕÔÅÍ +ÜÔÁ ÉÎÆÏÒÍÁÃÉÑ ÐÏÌÕÞÅÎÁ. ÷ÓÅ ËÁÒÔÙ Õ ÎÁÓ ÎÅÚÁ×ÉÓÉÍÙ É ÒÁ×ÎÏÐÒÁ×ÎÙ. + +

ôÏÞÎÏÓÔØ ËÁÒÔÙ.

+ +ìÀÂÁÑ ÉÎÆÏÒÍÁÃÉÑ Ï ÒÅÁÌØÎÏ ÓÕÝÅÓÔ×ÕÀÝÉÈ ÏÂßÅËÔÁÈ ÉÍÅÅÔ ÏÇÒÁÎÉÞÅÎÎÕÀ ÔÏÞÎÏÓÔØ. +ðÏÜÔÏÍÕ ÎÕÖÎÏ ××ÅÓÔÉ ÓÐÏÓÏ ÏÃÅÎËÉ ÔÏÞÎÏÓÔÉ ËÁÒÔ. +õ ÐÒÏÂÌÅÍÙ ÔÏÞÎÏÓÔÉ ËÁÒÔÙ ÅÓÔØ Ä×Å ÓÔÏÒÏÎÙ: +
    +
  1. ôÏÞÎÏÓÔØ ÏÐÒÅÄÅÌÅÎÉÑ ËÏÏÒÄÉÎÁÔ +
  2. ôÏÞÎÏÓÔØ ÉÎÆÏÒÍÁÃÉÉ Ï ÚÎÁÞÅÎÉÉ ËÁÒÔÙ. +
+ôÏÞÎÏÓÔØ ÏÐÒÅÄÅÌÅÎÉÑ ËÏÏÒÄÉÎÁÔ ÜË×É×ÁÌÅÎÔÎÁ ÔÏÞÎÏÓÔÉ ÐÒÏ×ÅÄÅÎÉÑ +ËÏÎÔÕÒÏ× ÉÓÈÏÄÎÏÊ ËÁÒÔÙ É ÏÂÙÞÎÏ ÎÅ ÐÒÅ×ÙÛÁÅÔ 1-2 ÍÍ × ÍÁÓÛÔÁÂÅ ÉÓÈÏÄÎÏÊ +ËÁÒÔÙ. ïÐÒÅÄÅÌÅÎÎÙÅ ÐÏÇÒÅÛÎÏÓÔÉ ×ÎÏÓÉÔ É ××ÏÄ ËÁÒÔ × ÍÁÛÉÎÕ, ÎÏ ÏÎÉ +ÏÂÙÞÎÏ ÎÁ ÐÏÒÑÄÏË ÍÅÎØÛÅ. +

+÷ ËÁÞÅÓÔ×Å ÏÃÅÎËÉ ËÏÏÒÄÉÎÁÔÎÏÊ ÔÏÞÎÏÓÔÉ ËÁÒÔÙ ÍÙ ÂÕÄÅÍ ÉÓÐÏÌØÚÏ×ÁÔØ +ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÏÅ ÒÁÚÒÅÛÅÎÉÅ. üÔÏ ÍÉÎÉÍÁÌØÎÏÅ ÒÁÓÓÔÏÑÎÉÅ ÍÅÖÄÕ ÔÏÞËÁÍÉ +× ËÏÔÏÒÙÈ ËÁÒÔÁ ÍÏÖÅÔ ÉÍÅÔØ ÒÁÚÌÉÞÎÙÅ ÚÎÁÞÅÎÉÅ. ôÅ ËÏÍÕ ÐÒÉÈÏÄÉÌÏÓØ +ÒÁÂÏÔÁÔØ Ó ÏÔÓËÁÎÉÒÏ×ÁÎÎÙÍÉ ÉÚÏÂÒÁÖÅÎÉÑÍÉ ÓÒÁÚÕ ÚÁÍÅÔÑÔ ÓÈÏÄÓÔ×Ï +ÜÔÏÇÏ ÐÏÎÑÔÉÑ Ó ÒÁÚÒÅÛÅÎÉÅÍ ÒÁÓÔÒÏ×ÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ. üÔÏ ÄÅÊÔÓ×ÉÔÅÌØÎÏ +ÏÄÎÏ É ÔÏ ÖÅ ÐÏÎÑÔÉÅ, ÐÏÓËÏÌØËÕ ÄÌÑ ÈÒÁÎÅÎÉÑ ËÁÒÔ ÉÓÐÏÌØÚÕÅÔÓÑ ÒÁÓÔÒÏ×ÙÊ +ÆÏÒÍÁÔ. +

+þÔÏ ËÁÓÁÅÔÓÑ ÔÏÞÎÏÓÔÉ ÚÎÁÞÎÅÎÉÊ, ÔÏ ÔÕÔ ×ÏÐÒÏÓ ÂÏÌÅÅ ÓÌÏÖÎÙÊ. +äÁÔØ ÆÏÒÍÁÌÉÚÏ×ÁÎÎÕÀ ÏÃÅÎËÕ ÔÏÞÎÏÓÔÉ ËÌÁÓÓÉÆÉËÁÃÉÉ ÎÅÌØÚÑ, ÅÓÌÉ ÔÏÌØËÏ +ÜÔÁ ËÌÁÓÓÉÆÉËÁÃÉÑ ÎÅ ÐÏÌÕÞÅÎÁ × ÒÅÚÕÌØÔÁÔÅ ËÁËÏÇÏ-ÌÉÂÏ ÓÔÁÔÉÓÔÉÞÅÓËÏÇÏ +ÍÅÔÏÄÁ. +

+ôÅÏÒÉÑ ÔÏÞÎÏÓÔÉ ÉÚÍÅÒÅÎÉÊ ËÏÌÉÞÅÓÔ×ÅÎÎÙÈ ÐÏËÁÚÁÔÅÌÅÊ É ÔÏÞÎÏÓÔÉ +ÉÎÔÅÒÐÏÌÑÃÉÉ, ÎÁÐÒÏÔÉ×, ÈÏÒÏÛÏ ÒÁÚÒÁÂÏÔÁÎÁ. +

+ëÒÏÍÅ ÔÏÇÏ ÓÕÝÅÓÔ×ÕÅÔ ÔÏÞÎÏÓÔØ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÞÉÓÅÌ × ËÏÍÐØÀÔÅÒÅ. +

+ðÏÜÔÏÍÕ ÄÌÑ ËÁÒÔ ËÏÌÉÞÅÓÔ×ÅÎÎÙÈ ÐÁÒÁÍÅÔÒÏ× ËÒÏÍÅ ÒÁÚÒÅÛÅÎÉÑ ÉÓÐÏÌØÚÕÅÔÓÑ +ÐÏÎÑÔÉÅ Z-ÔÏÞÎÏÓÔÉ - ÍÉÎÉÍÁÌØÎÁÑ ÒÁÚÎÉÃÁ ÍÅÖÄÕ ÚÎÁÞÅÎÉÑÍÉ ËÁÒÔÙ, +ÐÒÉ ËÏÔÏÒÙÈ ÜÔÉ ÚÎÁÞÅÎÉÑ ÓÞÉÔÁÀÔÓÑ ÎÅÒÁ×ÎÙÍÉ. Z-ÔÏÞÎÏÓÔØ ÜÔÏ + +

çÄÅ ÖÅ ËÏÎÔÕÒ?

+ +÷Ï ×ÓÅÍ ×ÙÛÅÉÚÌÏÖÅÎÎÏÍ ÞÅÌÏ×ÅË ÐÒÉ×ÙËÛÉÊ ÒÁÂÏÔÁÔØ Ó ËÁÒÔÁÍÉ ÎÅ ÎÁÊÄÅÔ +ÏÄÎÏÇÏ ×ÁÖÎÏÇÏ ÐÏÎÑÔÉÑ - ËÏÎÔÕÒÁ. åÇÏ ÚÄÅÓØ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÎÅÔ. +

+ëÏÎÔÕÒ ÜÔÏ Ó×ÑÚÎÏÅ ÍÎÏÖÅÓÔ×Ï ÔÏÞÅË, × ËÏÔÏÒÙÈ ËÁÒÔÁ ÉÍÅÅÔ ÏÄÉÎÁËÏ×ÏÅ ÚÎÁÞÅÎÉÅ. +åÓÌÉ ÍÙ ÒÁÓÓÍÏÔÒÉÍ ËÁÒÔÕ ËÏÌÉÞÅÓÔ×ÅÎÎÏÇÏ ÐÏËÁÚÁÔÅÌÑ, ËÏÔÏÒÁÑ ÏÂÙÞÎÏ +ÉÚÏÂÒÁÖÁÅÔÓÑ Ó ÐÏÍÏÝØÀ ÐÏÓÌÏÊÎÏÊ ÒÁÓËÒÁÓËÉ, ÔÏ ÍÙ Õ×ÉÄÉÍ, ÞÔÏ +ËÏÎÔÕÒ ÚÄÅÓØ - ÏÂÌÁÓÔØ × ËÏÔÏÒÏÊ ÚÎÁÞÅÎÉÑ ÐÏËÁÚÁÔÅÌÑ ÚÁËÌÀÞÅÎÙ × ÏÐÒÅÄÅÌÅÎÎÏÍ +ÉÎÔÅÒ×ÁÌÅ - ÏÔ ÏÄÎÏÊ ÉÚÏÌÉÎÉÉ ÄÏ ÓÏÓÅÄÎÅÊ. åÓÌÉ ÍÙ ÉÚÍÅÎÉÍ ÇÒÁÎÉÃÙ +ÉÎÔÅÒ×ÁÌÏ×, ÉÚÍÅÎÉÔÓÑ É ×ÓÑ ËÏÎÔÕÒÎÁÑ ÓÅÔØ, ÈÏÔÑ ÓÁÍÁ ËÁÒÔÁ, ÔÏ ÅÓÔØ +ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÏÅ ÒÁÓÐÒÅÄÅÌÅÎÉÅ ÚÎÁÞÅÎÉÊ ÐÏËÁÚÁÔÅÌÑ, ÏÓÔÁÌÁÓØ ÐÒÅÖÎÅÊ. +

+äÌÑ ËÁÒÔ ËÌÁÓÓÉÆÉËÁÃÉÊ ËÏÎÔÕÒ --- ×ÅÝØ ÂÏÌÅÅ ÕÓÔÏÊÞÉ×ÁÑ. ïÎ ÍÏÖÅÔ +ÉÚÍÅÎÉÔØÓÑ ÅÓÌÉ ÐÏ ËÁËÉÍ-ÔÏ ÐÒÉÞÉÎÁÍ ÉÚÍÅÎÉÔÓÑ ËÌÁÓÓÉÆÉËÁÃÉÑ ÌÉÂÏ +ÎÁÛÉ ÚÎÁÎÉÑ Ï ÔÅÒÒÉÔÏÒÉÉ. +

+ðÏÜÔÏÍÕ ÄÌÑ ÜÔÉÈ ËÁÒÔ ×ÏÚÍÏÖÎÁ ÒÁÂÏÔÁ ÎÁ ÕÒÏ×ÎÅ ËÏÎÔÕÒÏ×. ÷ ÏÓÎÏ×ÎÏÍ +ÏÐÅÒÁÃÉÉ Ó ËÏÎÔÕÒÁÍÉ ÜÔÏ ÉÈ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ, ËÏÔÏÒÏÅ +Ó ÔÏÞËÉ ÚÒÅÎÉÑ ÆÕÎËÃÉÏÎÁÌØÎÏÊ ËÁÒÔÙ ÏÚÎÁÞÁÅÔ: ÍÙ ×ÙÄÅÌÑÅÍ ËÁËÕÀ-ÔÏ ÇÒÕÐÐÕ +ÔÏÞÅË (ÎÁÐÒÉÍÅÒ, ÎÁÒÉÓÏ×Á× ÚÁÍËÎÕÔÕÀ ÌÉÎÉÀ) É ÇÏ×ÏÒÉÍ: ÚÎÁÞÅÎÉÅ ËÁÒÔÙ +× ÜÔÉÈ ÔÏÞËÁÈ ÔÅÐÅÒØ ÂÕÄÅÔ ÔÁËÏÅ-ÔÏ. +

+ïÞÅ×ÉÄÎÏ, ÜÔÏÊ ÏÐÅÒÁÃÉÅÊ ÎÁÄÏ ÐÏÌØÚÏ×ÁÔØÓÑ Ó ÏÓÔÏÒÏÖÎÏÓÔØÀ, ÏÓÔÁ×É× +ÅÇÏ ÄÌÑ ÜÔÁÐÏ× ÐÅÒ×ÉÞÎÏÇÏ ××ÏÄÁ ÉÎÆÏÒÍÁÃÉÉ É ÅÅ ÏÂÎÏ×ÌÅÎÉÑ. + +

ïÐÅÒÁÃÉÉ Ó ËÁÒÔÁÍÉ.

+ +ôÅÐÅÒØ ÐÅÒÅÊÄÅÍ Ë ÔÏÍÕ, ÄÌÑ ÞÅÇÏ ×ÓÅ ÜÔÏ ÚÁÔÅ×ÁÌÏÓØ - Ë ÏÐÅÒÁÃÉÑÍ ÁÎÁÌÉÚÁ +ËÁÒÔ. +

+éÈ ÍÏÖÎÏ ÓÒÁÚÕ ÒÁÚÄÅÌÉÔØ ÎÁ Ä×Å ÂÏÌØÛÉÅ ÇÒÕÐÐÙ: +

    +
  1. ëÏÇÄÁ ÎÁÍ × ÒÅÚÕÌØÔÁÔÅ ÎÕÖÎÏ ÐÏÌÕÞÉÔØ ËÁÒÔÕ +
  2. ëÏÇÄÁ × ÒÅÚÕÌØÔÁÔÅ ÍÙ ÐÏÌÕÞÁÅÍ ËÁËÕÀ-ÔÏ ÓÕÍÍÁÒÎÕÀ ÉÎÆÏÒÍÁÃÉÀ + (ÏÂÙÞÎÏ × ÆÏÒÍÅ ÔÁÂÌÉÃÙ). +
+ïÇÒÁÎÉÞÉÍÓÑ ÐÏËÁ ÐÅÒ×ÏÊ ÇÒÕÐÐÏÊ ÏÐÅÒÁÃÉÊ. +

1. úÁÞÁÓÔÕÀ, ÞÔÏÂÙ ÐÏÌÕÞÉÔØ ÉÎÔÅÒÅÓÕÀÝÉÊ ÎÁÓ ÐÏËÁÚÁÔÅÌØ × ËÁËÏÊ-ÔÏ +ÔÏÞËÅ, ÎÁÍ +ÄÏÓÔÁÔÏÞÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ ÚÎÁÞÅÎÉÑ ÎÅËÏÔÏÒÙÈ ÄÒÕÇÉÈ ÐÏËÁÚÁÔÅÌÅÊ +× ÔÏÊ ÖÅ ÔÏÞËÅ. +

+îÁÐÒÉÍÅÒ, ÄÌÑ ÒÁÓÞÅÔÁ ÐÏÔÅÎÃÉÁÌØÎÏÊ ÜÒÏÚÉÉ ÎÁÍ ÎÕÖÎÙ Ó×ÅÄÅÎÉÑ Ï +ÍÅÈÁÎÉÞÅÓËÏÍ ÓÏÓÔÁ×Å ÐÏÞ×, ÕËÌÏÎÁÈ, ÄÌÉÎÅ ÓËÌÏÎÏ×, ÎÁÐÏÞ×ÅÎÎÏÍ ÐÏËÒÏ×Å +É Ô.Ä. åÓÌÉ ×ÓÅ ÜÔÉ ÄÁÎÎÙÅ ÅÓÔØ Õ ÎÁÓ × ×ÉÄÅ ËÁÒÔ, ÔÏ ÐÒÉÍÅÎÉ× +ÉÚ×ÅÓÔÎÏÅ ÕÒÁ×ÎÅÎÉÅ Ë ËÁÖÄÏÊ ÔÏÞËÅ ÔÅÒÒÉÔÏÒÉÉ, ÍÙ ÐÏÌÕÞÉÍ ÎÏ×ÕÀ ËÁÒÔÕ. +

+ôÒÁÄÉÃÉÏÎÎÏ × ÄÌÑ ÜÔÏÇÏ ÓÎÁÞÁÌÁ ÎÁËÌÁÄÙ×ÁÀÔ ÄÒÕÇ ÎÁ ÄÒÕÇÁ ×ÓÅ ÉÓÈÏÄÎÙÅ +ËÁÒÔÙ É ÐÏÌÕÞÁÀÔ ÓÅÔËÕ ÍÉÎÉÍÁÌØÎÙÈ ËÏÎÔÕÒÏ×, × ËÏÔÏÒÙÈ ×ÓÅ ÉÓÈÏÄÎÙÅ +ÐÏËÁÚÁÔÅÌÉ ÏÄÎÏÒÏÄÎÙ, Á ÐÏÔÏÍ ÄÌÑ ËÁÖÄÏÇÏ ÔÁËÏÇÏ ËÏÎÔÕÒÁ ÒÁÓÞÉÔÙ×ÁÀÔ +ÉÔÏÇÏ×ÙÊ ÐÏËÁÚÁÔÅÌØ. +

+åÓÌÉ ÖÅ ÍÙ ×ÙÐÏÌÎÉÍ ÒÁÓÓÞÅÔ ÄÌÑ ËÁÖÄÏÊ ÔÏÞËÉ ËÁÒÔÙ (Á ÉÈ ËÏÎÅÞÎÏÅ ÞÉÓÌÏ, +ÐÏÓËÏÌØËÕ ×ÓÅ ÉÓÈÏÄÎÙÅ ËÁÒÔÙ ÉÍÅÀÔ ËÏÎÅÞÎÏÅ ÒÁÚÒÅÛÅÎÉÅ), ÔÏ +ÉÔÏÇÏ×ÙÅ ËÏÎÔÕÒÁ ÏÂÒÁÚÕÀÔÓÑ ÓÁÍÉ, ËÁË ÇÒÕÐÐÙ ÔÏÞÅË ÇÄÅ ×ÙÞÉÓÌÅÎÎÙÊ +ÐÏËÁÚÁÔÅÌØ ÉÍÅÅÔ ÏÄÉÎÁËÏ×ÙÅ ÚÎÁÞÅÎÉÑ. +

+íÁÔÅÍÁÔÉÞÅÓËÉ ÜÔÏ ÏÐÉÓÙ×ÁÅÔÓÑ ÐÏÎÑÔÉÅÍ ÆÕÎËÃÉÏÎÁÌÁ - ÏÐÅÒÁÃÉÉ, +ËÏÔÏÒÁÑ ÐÏ ÎÅÓËÏÌØËÉÍ ÉÓÈÏÄÎÙÍ ÆÕÎËÃÉÑÍ ÓÔÒÏÉÔ ÒÅÚÕÌØÔÉÒÕÀÝÕÀ. +

+ó ÐÒÁËÔÉÞÅÓËÏÊ ÔÏÞËÉ ÚÒÅÎÉÑ ÐÒÏ×ÅÓÔÉ ×ÙÞÉÓÌÅÎÉÑ × ÎÅÓËÏÌØËÉÈ ÍÉÌÌÉÏÎÁÈ +ÔÏÞÅË ÇÏÒÁÚÄÏ ÂÙÓÔÒÅÅ, ÞÅÍ ×ÙÞÉÓÌÑÔØ ÐÅÒÅÓÅÞÅÎÉÑ ÓÏÔÅÎ ËÏÎÔÕÒÏ×. +

+2. éÎÏÇÄÁ ÄÌÑ ×ÙÞÉÓÌÅÎÉÑ ÚÎÁÞÅÎÉÑ ÐÏËÁÚÁÔÅÌÑ × ÔÏÞËÅ ÎÁÍ ÎÕÖÎÁ + ÉÎÆÏÒÍÁÃÉÑ Ï ÎÅËÏÔÏÒÏÊ ÏËÒÅÓÔÎÏÓÔÉ ÜÔÏÊ ÔÏÞËÅ (ÔÅÏÒÅÔÉÞÅÓËÉ - +× ÂÅÓËÏÎÅÞÎÏ ÍÁÌÏÊ, ÎÁ ÐÒÁËÔÉËÅ - ÎÅ ÍÅÎØÛÅ ÒÁÚÒÅÛÅÎÉÑ ËÁÒÔÙ) +ëÌÁÓÓÉÞÅÓËÉÊ ÐÒÉÍÅÒ ÔÁËÏÊ ÚÁÄÁÞÉ - ÎÁÈÏÖÄÅÎÉÅ ÕËÌÏÎÏ× ÐÏ +ÇÉÐÓÏÍÅÔÒÉÞÅÓËÏÊ ËÁÒÔÅ. äÒÕÇÏÊ, ÓÔÏÌØ ÖÅ ÈÁÒÁËÔÅÒÎÙÊ ÐÒÉÍÅÒ - ÔÅËÓÔÕÒÁ +ÉÚÏÂÒÁÖÅÎÉÑ ÎÁ ÁÜÒÏÆÏÔÏÓÎÉÍËÅ. +

+3. é, ÎÁËÏÎÅÃ, ÉÎÏÇÄÁ ÎÁÍ ÎÕÖÎÙ ÕÄÁÌÅÎÎÙÅ ÔÏÞËÉ, ÏÂÌÁÄÁÀÝÉÅ +ÏÐÒÅÄÅÌÅÎÎÙÍÉ Ó×ÏÊÓÔ×ÁÍÉ. îÁÐÒÉÍÅÒ, ×Ï ÍÎÏÇÉÈ ÚÁÄÁÞÁÈ ÒÁÚÍÅÝÅÎÉÑ +ÎÁÓ ÉÎÔÅÒÅÓÕÅÔ ÒÁÓÓÔÏÑÎÉÅ ÄÏ ÂÌÉÖÁÊÛÅÊ ÄÏÒÏÇÉ, ÐÒÉ ÐÏÓÔÒÏÅÎÉÉ +ËÁÒÔ ÈÉÍÉÞÅÓËÏÇÏ ÓÏÓÔÁ×Á ÎÁÓ ÉÎÔÅÒÅÓÕÀÔ ÎÅÓËÏÌØËÏ ÂÌÉÖÁÊÛÉÈ ÔÏÞÅË +ÏÐÒÏÂÏ×ÏÁÎÉÑ. +

+éÎÔÅÒÅÓÎÏÊ ÔÅÍÏÊ ÄÌÑ ÉÓÓÌÅÄÏ×ÁÎÉÑ Ñ×ÌÑÅÔÓÑ ×ÏÚÍÏÖÎÏÓÔØ ËÏÍÐÏÚÉÃÉÉ +ÆÕÎËÃÉÏÎÁÌÏ×, ÐÏÓËÏÌØËÕ ÒÁÂÏÔÁ Ó ËÏÍÐÏÚÉÃÉÑÍÉ ÆÕÎËÃÉÏÎÁÌÏ× +ÐÏÚ×ÏÌÑÅÔ ÓÞÉÔÁÔØ ÓÌÏÖÎÙÅ ÍÏÄÅÌÉ ÚÁ ÏÄÉÎ ÐÒÏÈÏÄ, ÂÅÚ ÓÏÚÄÁÎÉÑ +ÓÌÏÖÎÙÈ ÐÒÏÍÅÖÕÔÏÞÎÙÈ ËÁÒÔ. +

+ïÞÅ×ÉÄÎÏ, Ë ÏÐÅÒÁÃÉÑÍ 1-Ê ÇÒÕÐÐÙ ËÏÍÐÏÚÉÃÉÑ ÐÒÉÍÅÎÉÍÁ ×ÓÅÇÄÁ +z=f(g(x)) ÐÏÓÞÉÔÁÔØ ÎÅ ÓÌÏÖÎÅÅ ÞÅÍ y=g(x) z=f(y). +

+óÌÏÖÎÅÅ Ó ÏÐÅÒÁÃÉÑÍÉ ×ÔÏÒÏÊ ÇÒÕÐÐÙ, ÐÏÓËÏÌØËÕ ÅÓÌÉ × ×ÙÞÉÓÌÅÎÉÉ +f(x) ÕÞÁÓÔ×ÕÀÔ ÚÎÁÞÅÎÉÑ g(x+dx) ÉÈ ÎÁÄÏ ×ÙÞÉÓÌÉÔØ ÚÁÒÁÎÅÅ, Á ÅÓÌÉ +É ÏÎÉ ÔÒÅÂÕÀÔ ÏËÒÅÓÔÎÏÓÔÉ... óÒÁ×ÎÉÔÅ, ÎÁÐÒÉÍÅÒ, Ó ÆÏÒÍÕÌÏÊ ×ÔÏÒÏÊ +ÐÒÏÉÚ×ÏÄÎÏÊ ÓÌÏÖÎÏÊ ÆÕÎËÃÉÉ. +

+åÓÌÉ ÖÅ ÒÅÞØ ÉÄÅÔ Ï ÎÅÌÏËÁÌØÎÙÈ ÏÐÅÒÁÃÉÑÈ, ÔÁËÉÈ ËÁË ÂÕÆÅÒÉÚÁÃÉÑ +É ÉÎÔÅÒÐÏÌÑÃÉÑ, ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ ÐÒÏÍÅÖÕÔÏÞÎÙÈ ÒÅÚÕÌØÔÁÔÏ× × ×ÉÄÅ +ËÁÒÔ ×ÉÄÉÍÏ ÎÅ ÏÂÏÊÔÉÓØ. +

+ +

÷ÉÚÕÁÌÉÚÁÃÉÑ ËÁÒÔ É ÍÅÔÁÄÁÎÎÙÅ.

+ +äÁÔØ ÓÔÒÏÇÏÅ ÍÁÔÅÍÁÔÉÞÅÓËÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ËÁÒÔÙ ËÏÎÅÞÎÏ ÈÏÒÏÛÏ, ÎÏ +ÉÓÓÌÅÄÏ×ÁÔÅÌÉ ÐÒÉ×ÙËÌÉ ×ÉÄÅÔØ ËÁÒÔÕ ÐÅÒÅÄ ÇÌÁÚÁÍÉ. +

+üÔÏ ËÁË ÒÁÚ ÔÏ, ÞÅÇÏ ÎÅ ÐÏÚ×ÏÌÑÀÔ ÓÕÝÅÓÔ×ÕÀÝÉÅ çéó. ÷ ÎÉÈ ÓÏÚÄÁÎÉÅ +ËÁÒÔÏÇÒÁÆÉÞÅÓËÏÊ ËÏÍÐÏÚÉÃÉÉ ÎÁ ÜËÒÁÎÅ ÉÌÉ ÎÁ ÂÕÍÁÇÅ - ÄÌÉÔÅÌØÎÙÊ +É ÓÌÏÖÎÙÊ ÐÒÏÃÅÓÓ, ÓÏ×ÅÒÛÅÎÎÏ ÎÅ Ó×ÑÚÁÎÎÙÊ Ó ÓÏÂÓÔ×ÅÎÎÏ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÙÍ +ÁÎÁÌÉÚÏÍ É ÍÏÄÅÌÉÒÏ×ÁÎÉÅÍ. +

+äÁ, ÓÔÁÄÉÑ ÄÉÚÁÊÎÁ ÎÅÏÂÈÏÄÉÍÁ, ËÏÇÄÁ ×Ù ÇÏÔÏ×ÉÔÅ ËÁÒÔÕ ÄÌÑ ÐÕÂÌÉËÁÃÉÉ, +ÎÏ ×ÏÚÍÏÖÎÏÓÔØ ÂÙÓÔÒÏ Õ×ÉÄÅÔØ ÒÅÚÕÌØÔÁÔ ËÁËÏÊ-ÔÏ ÏÐÅÒÁÃÉÉ × ÂÏÌÅÅ +ÍÅÎÅÅ ÁÄÅË×ÁÔÎÙÈ ËÁÒÔÏÇÒÁÆÉÞÅÓËÉÈ ÚÎÁËÁÈ ÍÏÖÅÔ ÉÚÂÁ×ÉÔØ ÏÔ ÍÎÏÖÅÓÔ×Á +ÏÛÉÂÏË. +

+æÕÎËÃÉÏÎÁÌØÎÙÅ ËÁÒÔÙ ÍÏÇÕÔ ÐÏÍÏÞØ É ÚÄÅÓØ. +ðÏÓËÏÌØËÕ ËÁÖÄÁÑ ËÁÒÔÁ Õ ÎÁÓ ÏÔÏÂÒÁÖÁÅÔ ÒÏ×ÎÏ ÏÄÉÎ ÐÏËÁÚÁÔÅÌØ, +ÍÙ ÍÏÖÅÍ Ó×ÑÚÁÔØ ÓÐÏÓÏ ËÁÒÔÏÇÒÁÆÉÞÅÓËÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ +Ó ÍÎÏÖÅÓÔ×ÏÍ ÚÎÁÞÅÎÉÊ ËÁÒÔÙ. (×Ï ÍÎÏÇÉÈ ÏÂÌÁÓÔÑÈ ÎÁÕË Ï ÚÅÍÌÅ ÜÔÏ +ÕÖÅ É ÔÁË ÓÄÅÌÁÎÏ - ÓÕÝÅÓÔ×ÕÀÔ ÓÔÁÎÄÁÒÔÎÙÅ Ã×ÅÔÁ ÄÌÑ ÔÉÐÏ× ÐÏÞ× ÉÌÉ +ÇÅÏÈÒÏÎÏÌÏÇÉÞÅÓËÉÈ ÜÐÏÈ). +

+ðÏÓÌÅ ÜÔÏÇÏ, ÐÏÓÔÒÏÉ× ËÁÒÔÕ ÍÙ ÍÏÖÅÍ ÎÅÍÅÄÌÅÎÎÏ ÅÅ ÉÚÏÂÒÁÚÉÔØ × +ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÕÓÌÏ×ÎÙÈ ÚÎÁËÁÈ, Á ÚÁÄÁÞÁ ÄÉÚÁÊÎÁ ËÁÒÔÏÇÒÁÆÉÞÅÓËÏÊ +ËÏÍÐÏÚÉÃÉÉ ÒÁÓÐÁÄÁÅÔÓÑ ÎÁ ÓÏÚÄÁÎÉÅ ÎÁÂÏÒÁ ÚÎÁËÏ× ÄÌÑ ËÁÖÄÏÇÏ +ÐÏËÁÚÁÔÅÌÑ É ÉÚÏÂÒÁÖÅÎÉÅ ÎÁ ÏÄÎÏÍ ÌÉÓÔÅ ÔÅÈ ÓÌÏÅ×, ËÏÔÏÒÙÅ ÔÅÍÁÔÉÞÅÓËÉ +ÉÎÔÅÒÅÓÎÏ ÒÁÓÓÍÁÔÒÉ×ÁÔØ ×ÍÅÓÔÅ, ÔÁË , ÞÔÏÂÙ ÏÎÉ ÎÅ ÍÅÛÁÌÉ ÄÒÕÇ ÄÒÕÇÕ. +

+

íÁÓÛÔÁÂÎÙÊ ÒÑÄ ÉÌÉ ÉÅÒÁÒÈÉÑ ÒÅÇÉÏÎÏ×

. +äÁÌÅËÏ ÎÅ ×ÓÅÇÄÁ ÒÁÂÏÔÁ Ó ËÁÒÔÁÍÉ Ó×ÏÄÉÔÓÑ Ë ÒÁÂÏÔÅ Ó ÏÄÎÏÊ É ÔÏÊ ÖÅ +ÔÅÒÒÉÔÏÒÉÅÊ. äÏÓÔÁÔÏÞÎÏ ÞÁÓÔÏ ÐÒÉÈÏÄÉÔÓÑ ÉÍÅÔØ ÄÅÌÏ Ó ÉÅÒÁÒÈÉÅÊ +ÍÁÓÛÔÁÂÏ× É ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ÅÊ ÉÅÒÁÒÈÉÅÊ ÔÅÒÒÉÔÏÒÉÊ. +

+ðÒÉ ÜÔÏÍ ÉÓÐÏÌØÚÕÅÍÙÅ ËÁÒÔÏÇÒÁÆÉÞÅÓËÉÅ ÐÒÏÅËÃÉÉ É ËÌÁÓÓÉÆÉËÁÃÉÉ +ËÁÞÅÓÔ×ÅÎÎÙÈ ÐÏËÁÚÁÔÅÌÅÊ (ÐÏÞ×, ÒÁÓÔÉÔÅÌØÎÏÓÔÉ É Ô.Ä.) ÚÁËÏÎÏÍÅÒÎÏ +ÍÅÎÑÀÔÓÑ Ó ÉÚÍÅÎÅÎÅÍ ÍÁÓÛÔÁÂÁ. +

+äÁÌÅËÏ ÎÅ ×ÓÅÇÄÁ ÎÁ ÎÕÖÎÏÍ ÍÁÓÛÔÁÂÎÏÍ ÕÒÏ×ÎÅ ÅÓÔØ ×ÓÑ ÎÅÏÂÈÏÄÉÍÁÑ +ÉÎÆÏÒÍÁÃÉÑ. ðÏÜÔÏÍÕ ÞÁÓÔÏ ×ÏÚÎÉËÁÅÔ ÚÁÄÁÞÁ ÌÉÂÏ ÓÏÂÒÁÔØ ËÁÒÔÕ +ÉÚ ÂÏÌÅÅ ËÒÕÐÎÏÍÁÓÛÔÁÂÎÙÈ ËÕÓËÏ×, Ó ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ÇÅÎÅÒÁÌÉÚÁÃÉÅÊ, +ÌÉÂÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÆÒÁÇÍÅÎÔ ÂÏÌÅÅ ÍÅÌËÏÍÁÓÛÔÁÂÎÏÊ ËÁÒÔÙ. ðÏÔÅÒÑ ÔÏÞÎÏÓÔÉ +ÔÕÔ ÎÅÉÚÂÅÖÎÁ, ÎÏ ÞÁÓÔÏ ÌÕÞÛÅ ÎÅÔÏÞÎÙÅ ÄÁÎÎÙÅ, ÞÅÍ ÎÉËÁËÉÈ. +

+ðÏÜÔÏÍÕ ÍÙ ××ÏÄÉÍ ËÏÎÃÅÐÃÉÀ ÒÅÇÉÏÎÁ. òÅÇÉÏÎ ÜÔÏ ÇÒÕÐÐÁ ËÁÒÔ ÎÁ ÏÄÎÕ +É ÔÕ ÖÅ ÔÅÒÒÉÔÏÒÉÀ. ÷ÓÅ ËÁÒÔÙ ÒÅÇÉÏÎÁ ÉÍÅÀÔ ÏÄÎÕ É ÔÕ ÖÅ ËÏÏÒÄÉÎÁÔÎÕÀ +ÓÉÓÔÅÍÕ (ËÁÒÔÏÇÒÁÆÉÞÅÓËÕÀ ÐÒÏÅËÃÉÀ) ÎÏ ÍÏÇÕÔ ÒÁÚÌÉÞÁÔØÓÑ ÐÏ ÒÁÚÒÅÛÅÎÉÀ. +ðÏÓÌÅÄÎÅÅ ÎÅ ÍÅÛÁÅÔ ÓÏ×ÍÅÓÔÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÈ × ÁÎÁÌÉÚÅ. +äÌÑ ÔÏÇÏ ÞÔÏÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁÒÔÕ ÉÚ ÄÒÕÇÏÇÏ ÒÅÇÉÏÎÁ ×ÍÅÓÔÅ Ó ËÁÒÔÁÍÉ +ÔÅËÕÝÅÇÏ, ÅÅ ÎÁÄÏ ÓËÏÐÉÒÏ×ÁÔØ × ÜÔÏÔ ÒÅÇÉÏÎ. ðÒÉ ÜÔÏÍ ÏÎÁ ÂÕÄÅÔ +Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÒÅÏÂÒÁÚÏ×ÁÎÁ × ÎÕÖÎÕÀ ÐÒÏÅËÃÉÀ, ÎÏ ÓÏÈÒÁÎÉÔ Ó×ÏÅ ÏÒÉÇÉÎÁÌØÎÏÅ +ÒÁÚÒÅÛÅÎÉÅ É ÌÅÇÅÎÄÕ. åÅ ÇÅÎÅÒÁÌÉÚÁÃÉÑ (ÕÍÅÎØÛÅÎÉÅ ÒÁÚÒÅÛÅÎÉÑ) É +ÐÅÒÅËÌÁÓÓÉÆÉËÁÃÉÑ ÌÅÇÅÎÄÙ - ÄÅÌÏ ÐÏÌØÚÏ×ÁÔÅÌÑ. +

+òÅÇÉÏÎÙ ÉÍÅÀÔ ÉÅÒÁÒÈÉÞÅÓËÕÀ ÓÉÓÔÅÍÕ ÓÏÐÏÄÞÉÎÅÎÉÑ. ðÏËÁÖÅÍ, ÞÔÏ ÜÔÏ +ÔÁËÏÅ ÎÁ ÐÒÉÍÅÒÅ ÁÄÍÉÎÉÓÔÒÁÔÉ×ÎÏÇÏ ÄÅÌÅÎÉÑ òÏÓÓÉÉ. +

+òÅÇÉÏÎ ×ÅÒÈÎÅÇÏ ÕÒÏ×ÎÑ - òÏÓÓÉÑ × ÃÅÌÏÍ. èÁÒÁËÔÅÒÎÏÅ ÒÁÚÒÅÛÅÎÉÅ 1-2ËÍ, + ÐÒÏÅËÃÉÑ ÓËÏÒÅÅ ×ÓÅÇÏ ËÏÎÉÞÅÓËÁÑ. +÷ ÜÔÏÔ ÒÅÇÉÏÎ ×ÈÏÄÑÔ 86 ÐÏÄÒÅÇÉÏÎÏ× - ÁÄÍÉÎÉÓÔÒÁÔÉ×ÎÙÈ ÏÂÌÁÓÔÅÊ. +òÁÚÒÅÛÅÎÉÅ × ÎÉÈ ÏÔ 500 ÄÏ 100 Í, Á ÐÒÏÅËÃÉÑ ÍÏÖÅÔ ÂÙÔØ ËÏÎÉÞÅÓËÏÊ, +ËÏÓÏÊ ÁÚÉÍÕÔÁÌØÎÏÊ ÉÌÉ UTM(çÁÕÓÓÁ), × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÒÁÚÍÅÒÏ× ÏÂÌÁÓÔÉ. +

+åÓÌÉ ÄÅÌÅÎÉÅ ÏÄÎÏÇÏ ÒÅÇÉÏÎÁ ÓÒÁÚÕ ÎÁ 86 ÞÁÓÔÅÊ ËÁÖÅÔÓÑ ÓÌÉÛËÏÍ ÍÅÌËÉÍ, +ÍÏÖÎÏ ××ÅÓÔÉ ÐÒÏÍÅÖÕÔÏÞÎÙÊ ÕÒÏ×ÅÎØ ÜËÏÎÏÍÉÞÅÓËÉÈ ÒÁÊÏÎÏ×. +

+ëÁÖÄÁÑ ÏÂÌÁÓÔØ ÓÏÓÔÏÉÔ ÉÚ ÒÁÊÏÎÏ×. ðÒÉ ÎÁÌÉÞÉÉ ÉÓÈÏÄÎÙÈ ÄÁÎÎÙÈ +ÍÏÖÎÏ ××ÅÓÔÉ ÅÝÅ É ÐÏÄÒÅÇÉÏÎÙ ÄÌÑ ÒÁÊÏÎÏ× - ÏÔÄÅÌØÎÙÅ ÈÏÚÑÊÓÔ×Á Ó +ÒÁÚÒÅÛÅÎÉÅÍ ÐÏÒÑÄËÁ ÍÅÔÒÏ× (ÍÁÓÛÔÁ 1:5000 - 1:10000) +

+óÉÓÔÅÍÁ ÐÏÚ×ÏÌÑÅÔ ÐÅÒÅÊÔÉ ÎÁ ÓÏÓÅÄÎÉÊ ÕÒÏ×ÅÎØ × ÜÔÏÊ ÉÅÒÁÒÈÉÉ - ÌÉÂÏ +ÐÏÄÎÑÔØÓÑ ××ÅÒÈ × ÏÂßÅÍÌÀÝÉÊ ÒÅÇÉÏÎ, ÌÉÂÏ, ×ÙÂÒÁ× ÎÕÖÎÙÊ ÐÏÄÒÅÇÉÏÎ +ÎÁ ÓÐÅÃÉÁÌØÎÏÊ ËÁÒÔÅ (× ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÁÄÍÉÎÉÓÔÒÁÔÉ×ÎÏÊ) ÐÅÒÅÊÔÉ +× ÎÅÇÏ. +

+ðÒÉ ËÏÐÉÒÏ×ÁÎÉÉ ËÁÒÔÙ Ó ÎÉÖÎÅÇÏ ÕÒÏ×ÎÑ ÎÁ ×ÅÒÈÎÉÊ, ÏÎÁ ËÏÐÉÒÕÅÔÓÑ +ÃÅÌÉËÏÍ, Á ×ÏÔ ÐÒÉ ÏÂÒÁÔÎÏÍ ËÏÐÉÒÏ×ÁÎÉÉ ×ÏÚÎÉËÁÅÔ ÚÁÄÁÞÁ ×ÙÒÅÚÁÎÉÑ +ÎÕÖÎÏÇÏ ËÕÓËÁ. ïÄÉÎ ÉÚ ×ÏÚÍÏÖÎÙÈ ÐÕÔÅÊ ÅÅ ÒÅÛÅÎÉÑ - ÉÍÅÔØ × ËÁÖÄÏÍ +ÒÅÇÉÏÎÅ ÓÐÅÃÉÁÌØÎÕÀ ËÁÒÔÕ (×ÉÄÉÍÏ, ÔÕ ÖÅ, ËÏÔÏÒÁÑ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ +ÐÏÉÓËÁ ÓÕÂÒÅÇÉÏÎÏ×), ÏÂÌÁÓÔØ ÏÐÒÅÄÅÌÅÎÉÑ ËÏÔÏÒÏÊ ÓÏ×ÐÁÄÁÅÔ ÓÏ ×ÓÅÊ +ÔÅÒÒÉÔÏÒÉÅÊ ÒÅÇÉÏÎÁ, É ÐÏÌØÚÏ×ÁÔØÓÑ ÅÊ ËÁË ÍÁÓËÏÊ. + +

ðÒÉÎÃÉÐÙ ÐÏÓÔÒÏÅÎÉÑ ÓÉÓÔÅÍÙ

+ +óÉÓÔÅÍÁ ÓÔÒÏÉÔÓÑ ×ÏËÒÕÇ ×ØÀÅÒÁ/ÒÅÄÁËÔÏÒÁ ËÁÒÔ. +üÔÏÔ ×ØÀÅÒ/ÒÅÄÁËÔÏÒ ÕÍÅÅÔ ×Ù×ÏÄÉÔØ ËÁÒÔÙ ÂÏÌÅÅ-ÍÅÎÅÅ ×ÓÅÍÉ +ÓÕÝÅÓÔ×ÕÀÝÉÍÉ ÓÐÏÓÏÂÁÍÉ ËÁÒÔÏÇÒÁÆÉÞÅÓËÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ, × ÔÏÍ ÞÉÓÌÅ +ÎÁÐÒÉÍÅÒ ÓÌÏÊ ÛÔÒÉÈÏ×ËÁÍÉ ÐÏ×ÅÒÈ ÓÌÏÑ Ã×ÅÔÏ×. +

+ïÔËÒÙÔØ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ × ËÁÖÄÙÊ ËÏÎËÒÅÔÎÙÊ ÍÏÍÅÎÔ ÍÏÖÎÏ ÔÏÌØËÏ ÏÄÉÎ +ÓÌÏÊ. +

+ðÒÉ ÔÙËÁÎØÅ ÍÙÛØÀ × ÏËÎÏ ËÁÒÔÙ ÏÂÙÞÎÏ × ËÁËÏÍ-ÔÏ ÄÒÕÇÏÍ ÏËÎÅ +ÐÏËÁÚÙ×ÁÅÔÓÑ ÚÎÁÞÅÎÉÅ ÐÏ ÎÅËÏÔÏÒÙÍ ×ÙÂÒÁÎÎÙÍ ËÁÒÔÁÍ (×ÓÅ ×ÉÄÉÍÙÅ + +ÔÅ ËÏÔÏÒÙÅ ÐÏÌØÚÏ×ÁÔÅÌØ ÕËÁÚÁÌ Ñ×ÎÏ) × ÜÔÏÊ ÔÏÞËÅ. +

+íÅÎÀ ÓÉÓÔÅÍÙ ÐÏÚ×ÏÌÑÅÔ ×ÙÐÏÌÎÉÔØ ÌÀÂÙÅ ÏÐÅÒÁÃÉÉ ÁÎÁÌÉÚÁ, ÐÅÒÅÈÏÄ +ÍÅÖÄÕ ÒÅÇÉÏÎÁÍÉ É Ô.Ð. åÓÌÉ × ÒÅÚÕÌØÔÁÔÅ ÏÐÅÒÁÃÉÉ ÏÂÒÁÂÏÔËÉ ËÁÒÔ +ÓÏÚÄÁÎÁ ÒÏ×ÎÏ ÏÄÎÁ ÎÏ×ÁÑ ËÁÒÔÁ, ÔÏ ÏÎÁ ÚÁÍÅÝÁÅÔ × ÏËÎÅ ×ØÀÅÒÁ ÔÕ, +ËÏÔÏÒÁÑ ÂÙÌÁ ×Ù×ÅÄÅÎÁ Ã×ÅÔÏÍ (ÓÌÕÞÁÊ ÓÉÎÈÒÏÎÎÏÇÏ ×ÙÐÏÌÎÅÎÉÑ). +

+÷ÓÅ ÏÐÅÒÁÃÉÉ, ËÏÔÏÒÙÅ ÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÐÒÏÉÚ×ÅÓÔÉ ÉÚ ÍÅÎÀ ÓÉÓÔÅÍÙ +ÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÉÚ ÐÒÏÇÒÁÍÍÙ ÎÁ Tcl, ×ËÌÀÞÁÑ ÔÁËÉÅ ËÁË ÒÉÓÏ×ÁÎÉÅ +ÔÏÞËÉ ÉÌÉ ÌÉÎÉÉ × ÒÅÄÁËÔÏÒÅ + +

á×ÔÏÍÁÔÉÞÅÓËÁÑ ÁËÔÕÁÌÉÚÁÃÉÑ ËÁÒÔ.

+ +äÌÑ ËÁÒÔ ÓÏÚÄÁÎÎÙÈ × ÒÅÚÕÌØÔÁÔÅ ÏÐÅÒÁÃÉÊ ÏÂÒÁÂÏÔËÉ ÈÒÁÎÉÔÓÑ +ËÏÍÁÎÄÁ, ÓÏÚÄÁ×ÛÁÑ ËÁÒÔÕ, É ÓÐÉÓÏË ÉÓÈÏÄÎÙÈ ËÁÒÔ. ðÒÉ ×ÉÚÕÁÌÉÚÁÃÉÉ +ÜÔÏÊ ËÁÒÔÙ ÐÒÏ×ÅÒÑÅÔÓÑ, ÎÅ ÂÙÌÉ ÌÉ ÉÚÍÅÎÅÎÙ ËÁËÉÅ-ÔÏ ÉÚ ÉÓÈÏÄÎÙÈ +ËÁÒÔ, É ÅÓÌÉ ÄÁ, ÐÒÅÄÌÁÇÁÅÔÓÑ ÐÏ×ÔÏÒÉÔØ ÇÅÎÅÒÁÃÉÀ ËÁÒÔÙ. + + diff --git a/geography/fGIS/concepts.html b/geography/fGIS/concepts.html new file mode 100644 index 0000000..9ef78bb --- /dev/null +++ b/geography/fGIS/concepts.html @@ -0,0 +1,398 @@ + + + +f(GIS) concepts + + + +

f(GIS) + concepts

+ +
    +
  1. Data model +
      +
    1. Functional model +
    2. Layer classification +
    3. Implementation of data model +
    4. Regions and chartographic projection +
    +
  2. Program design +
      +
    1. Layer as Tcl object +
    2. Planchet - object for displaying maps +
    3. Drawing modes for raster layer +
    4. Low level objects +
    5. GIS operation +
    6. Utilities +
    7. Data access library +
    +
+ + + + + + +

Data model

+ +GIS is a software system for processing spatial data. So, adequate model +of spatial phenomena is most important thing for GIS. +

+It should provide way to represent spatial phenomena in computer memory, +allow to perform desired operation on this representation and let user +see the results in form, he used to. Ideally, GIS system should hide +complicated issues of internal data storage from user as well as text +processor hides questions of font rendering or kerning or SQL database +hides actual file layout and search technologies, providing simple, +but powerful relational operations instead. +

+Many modern +GIS systems, especially vector based, like ARC/Info, try to +represent map of spatial phenomena rather than spatial phenomena +itself. It leads to overcomplication of storage format and processing +algorithms, and makes user worry about such technical things as polygon +topology, which are completely irrelevant to his problem (say geology +or soil science), as font rendering hints and kerning is irrelevant to +contents of article, typesetted with some partcular font. Maps are +tool for analyse spatial data, widely used, but no more than tool. +GIS system should deal with them, becouse it is neccesary to use +existing data, which are represented on maps, and present results to +user in understandable form of maps, but while processing data we should +take into account properties of actual phenomena, rather then properties +of chartographic representation like polygons. +

+

Functional model

+ +In f(GIS) we use term layer to denote computer representation of +spatial phenomena. We define layer as function which maps geographical +coordinates to value of some property. Closest analogue of our +layer is spatial variable in geostatistics. +

+Layer values can be either real numbers or elements of some finite sets. +If you want to study more complicated spatial phenomena, it is better +to describe it as set of layers rather then individual layer with +structured value. Obvoisly you'll not need values of all attributes in +question for all desired calculations, and separating them makes your +actions more clear. +

+Becouse layers are defined as functions it is theoretically possible to +apply well develped mathematical apparatus of functional analysis to +them. + + +

Layer classification

+Layers can be classified by their area of definition and their set of +values. By area of definition we can distinguish between: + +
+
Two-dimensional layers +
which are defined on some contineous area. + It is most frequently used type of layers for physical geography. + Relief and soil type are perfect examples of such layers. Area of + definition of two-dimensional layers is usially finite, limited by + boundaries of study area or by availability of data. Areas which are + outside of area of definition are called offsite areas. +
One-dimensional layers +
are defined on set of lines within study area. Examples of such + layers are hydrography or railroad network. +
Zero-dimensional layers +
are defined on set of separate points. This layers can be used + for store information about sampling points or weather station +networks. +
+ +By the set of values layers can be classified to: +
+
Numeric layers +
whose values belong to some contineous interval on numeric axis, +for example relief layers, which have any value between lowest and +highest altitude in the study area. +
Classification layers +
which have finite set of values. f(GIS) allows to use arbitrary +strings as elements of such set. Soil map which has names of soil series +as values can be used as an example. +
+ +This simple classification covers all theoretically important types of +layers. Dealing with implementation we'll have to classify layers +further, for example, according to source of thematic data. But for +data analysis it is not significant whether data are stored in disk +file or come from some data asquition system on the fly. It is only +important to know type of values and whether they are defined for +any point of study area or not. + +

Implementation of data model

+ +Spatial phenomena seldom can be expressed by some mathematical equation. +Even if they can, finding of this equation is usially aim of analysis, +not a starting point. So, we need to store values of layers in any +point they are defined. Raster is natural way to store data for +two-dimensional layers.

+ (Raster is just big matrix of numeric values, stored +in special format to reduce storage space. If raster is used in GIS +processing, it should be known, how to find row and column numbers given +real word coordinates and vice versa) +

+f(GIS) uses raster data format developed for EPPL7 GIS system. This +format have several advantages - it is compressed and allows random +access at the same time and it is able to deal with very fine +resolution. For example Landscape map of exUSSR with spatial resolution +(raster cell size) 500m and more than 3000 distinct kinds of landscapes +occupies about 9MB of disk space. Due to such properties of data +format, it is advisable to work with raster cell size significantly less +then known accuracy of data. Resolution of maps can be compatible with +resolution of your scanner and printer - modern processors are powerful +enough to bear it, so raster doesn't mean loss of precession. +

+This data format is able to hold values in range 0..65535. While it is +always sufficient for classification layers, it can look that for +numeric layers it is better to use real numbers. But data always have +finite accuracy, which is usially less than 1/65535 of total range, +and even if we can take measurements with larger precession, we should +take into account spatial variability within one raster cell. +

+For example, if we have map of relief of Russia with 500 meter cell, +we need to represent range from -28 (Caspian coast) to 5642 (Elbrus) +meters above sea level. Thus smallest usable unit is about 10 cm. +Some points' altitude may be measured with more accuracy (for example, +triangualtion points), but each raster cell represents 500x500 meters +square which always would have more than 10cm of variability. +Even if value of our layer should have more precession in some part +of its range, we could use non-linear (for instance logarithmic) mapping +of raster cell values to layer values. +

+But even with compression, raster files occupy significant storage +space. So, we should avoid duplication of them if possible. Thus we +introduce concept of reclass tables. Reclass table maps values +of raster cell to another set of integer in arbitrary order. Don't mix +reclass table with mapping function which is used for convert raster +cell values to real units of numeric layer. For example if we have +statistical data of populations by county and want to create population +them as map, we can use reclass table over county map. Several counties +with different names, which have distinct values in county map raster, +can be mapped to same class in population density map if their population +density is same. +

+Point layer is just list of triplets < X, Y, Value >. Typically +point layer doesn't contain more than few thousands of points, so there +is no need to optimize performance or storage space. +

+Natural storage form of one-dimensional layer is vector format. +It is most questionable area in current fGIS design. There are a lot of +advantages of EPPL7 vector format (compactness, speed of processing), +but it have only one drawback, which overcomes them all - it can +associate only one value with whole vector object (polyline). But +if we are talking about the function, defined on set of lines, whe +should be prepared that this function (stream depth for instance) would +vary from one end of line to other. +

+It is also a question how intersections and joints of lines should +be stored/interpreted, becouse most interesting network analysis +algorithmes require ability to cross joints and intersections. +

+ +

Regions and chartographic projection

+ +Study area usially have hierarchical structure. For example Russia +can be subdivided to administrative regions, which consists of +districts. United States consists of states, which are divided into +counties. Often study is concerned only with one of such hierarchy +levels, but there are opposite examples. +

+Each hierarchy level have its typical data accuracy (which is rough +representation of map scale in GIS world, becouse GIS maps can be +arbitrarily scaled, but only certain scale range make sense for +particular data accuracy), chartographic projection (especially +significant for large areas like whole country or continent). +On thematic maps like soils or vegetation, different classifications +can be used in different scales. +

+So, f(GIS) uses concept of regions. Region is set of layers, +which cover almost same territory, have exactly same projection and +simular spatial resolution. Regions can be nested, i.e. region of +Russia can have several subregions of administrative regions, which +have subregions of districts etc. In this case there should be base +layer +which have subregion names as values. When copiing data between regions +f(GIS) authomatically performs neccessary projection and resolution + conversion using base layer as reference. Classification conversion, +if neccessary, should be performed by user, becouse it requires +knowledge in problem area. + +

Program design

+ +f(GIS) is designed as set of extensions to Tcl programming language +and set of independent utilities, which perform most time consuming +raster and vector processing tasks. Thus long operations can be launched +in background as separate while user continues to view/analyze data in +main program. +

+From users point of view, fGIS is Tcl application which allows him +to operate with set of layers from GUI as well as from Tcl command line. +It is essential design constraing that there should be no operation, +which can be performed from GUI, but couldn't be from Tcl script. There +should be way to automate everything. Other way around is enusred by +very nature of Tcl. Nothing prevent user, which have direct access to +Tcl interpreter from creating new button or menu item and binding any +Tcl command to it. +

+From programmers point of view, fGIS consists of several abstraction +levels, all available for extension and modification. And I think that +every fGIS user can eventually become programmer, if he discoveres need +to implement some, just invented, data analysis algorithm, or customize +graphical user interface to his needs. Relationship between fGIS +abstraction levels is shown on this figure. +

+Figure 1 +

+

Layer as Tcl object

+Layers in fGIS behave like objects in object-oriented programming +language. Once created with layer command they become tcl +commands itself (i.e. name of layer can be used as Tcl command), +just like Tk widget. Options of layer command allow to manipulate +properties of layer and store layer definition to file. This file +is just Tcl script which creates neccessary subobjects and invokes +appropriate command to create layer. +

Layer have following properties +

+
It can return value by coordinates +
It is why whole thing is about +
It can one or more ways to draw itself +
Raster layer can be drawn in opaque colors, so only offsite area is +transparent or using transparent monochrome patterns, thus allowing to +overlay one raster over another. In most existing raster GIS, like +Idrisi only vector or point layers can be overlayed over raster. +

+In f(GIS) any +layer can be drawn as overlay +There are three drawing modes for raster layer, +color, pattern and symbol. +

It has underlying data source +
Data source for layers typically consist of some object which can + return integer value given coordinate (raster file, combined with +reclass table, for example) and legend table or map +function which maps values of underlying raster object to +thematically meaningful values. +
It has visualization parameters +
visualization fo layer is controlled by several parameters such as +color palette, pattern set, flag, indicating if boundaries between +classes are drawn or not. All these parameters can be changed +interactively. +
It has metadata +
Metadata for layer typically include layer title, units in which +its values are managed, spatial resolution and value precession. +Chartographic projection is property of region rather than layer. +
+ +Besides layer types described above fGIS have +object layer type. This layer type can consist of any objects +allowed in Tcl canvas - lines, arcs, polygons, images with only one +thematic value for each object. This type is primarily for annotation +purposes, but also can be used as substitute for vector layers, while +later are not developed +

+

Planchet - object for displaying maps

+Another type of object which is essential for fGIS user is +planchet. It is Tk widget like canvas (and actially derived from +canvas) which has chartographic projection and real-world coordinates. +It is used for displaying layers and picking points on them. Becouse +it has real-world coordinates and physical size on the screen, it always +knows its scale. When scale is changed (via zoom or window resize operation), +all layers currently displayed on planchet are redrawn appropriately. +

+ +Planchet also have look feature. If right mouse button is pressed +on some point in planchet, it displays values of several layers in this +point in pop-up window. +

+There can be also "friend widgets" like status line which +display current coordinates if mouse is over planchet or zoom/unzoom +buttons which change its state depending of current state of planchet. +

+

Drawing modes for raster layer

+ +f(GIS) supports three drawing modes for raster layers - color, pattern +and symbol mode. +
+
In color mode,
each value (or range of values, if +values are real number) of layer corresponds with particular color on +screen/paper. This is simplest drawing mode and it is supported by all +raster-oriented GIS. +
In pattern mode
contineous areas of same class are filled +by black and white patterns, which is suitable for black and white +printers. But this mode allows much more - patterns can have any color +and background of pattern is transparent rather then white, so patterned +layer can be overlaid over other raster layers. Boundaries between +areas with different classes (polygons) can be highlighted in this mode as well as +in color mode. +
Symbol mode
looks much like pattern mode and use same pattern +sets as it. But it handles patterns differently. In pattern mode, +patterns can be cut if polygon boundary crosses rectangle, representing +pattern element. In symbol mode pattern elemet is interpreted like icon, +which can be either drawn entirely, or not drawn at all. So visible area +of map is divided into rectangular grid of size of pattern element and +each cell of this grid is filled with pattern, apropriate for central +point of this cell. +
+Differences between these thre modes are shown on following figure: +Figure 2 + + +

Low level objects

+ +There are additional objects like rasters, palettes and pattern sets. +But user seldom need to operate on them directly. They are primarily +for developers of new layer types. + + +

GIS operation

+GIS operation like calculationg buffer zones or computing new layer +from several existing are performed by separate utilities running in background. For user convinience +there are tcl procedures which take one or more layer names as arguments +and call appropriate utility. +

+Example of such procedure is interregion copy command, which tooks +layer name and name of target region, determines projections and calls +projection conversion program. +

+In some cases such procedures need to perform sufficient preprocessing +of user-supplied arguments + +

Utilities

+ +GIS processing utilities are more general than fGIS. They use just +data files and user-supplied arguments. So they can be used separately +from fGIS, for example by users of EPPL7 GIS. Utilities are designed +for batch environment, so they use exit codes to report status and +stdin/stdout to recieve and return values which are not fit in command +line. Important concept of these utilities is that user shouldn't worry +about raster cell size. All utilites which operate on several raster +files are able to deal with files with different cell sizes as long +as there is non-empty intersection in terms of real-world coordinates. + +

Data access library

+ +Both low-level Tcl objects (rasters, vectors) and utilites use common +C library to access data files. This library provides appropriately +high-level framework for those who want implement own data analysis + algorithmes. For example it includes iterator routines, which recieve +user-written function and open raster file and perform this function +on every cell of given file. While library operates primarily in terms +of raster cells (which can be important for cellular automata +algorithmes, which need to distinguish between ``this cell'' and +``neighbouring cell'') it provides ways to process files with different +cell sizes simulateously. + + + + + + + + + + + + + diff --git a/geography/fGIS/drawing-modes.gif b/geography/fGIS/drawing-modes.gif new file mode 100644 index 0000000..d47f341 Binary files /dev/null and b/geography/fGIS/drawing-modes.gif differ diff --git a/geography/fGIS/index.html b/geography/fGIS/index.html new file mode 100644 index 0000000..9fe5611 --- /dev/null +++ b/geography/fGIS/index.html @@ -0,0 +1,131 @@ + + +fGIS project + + +

f(GIS) project

+ +fGIS stands for "functional GIS". It means that fGIS uses +functional data model rather than object-oriented. Spatial phenomena +are interpreted as functions of spatial coordinates, defined on +some subset of earth surface. Such subset can be contineous area, +or set of lines, like transport or hydrography network, or even +set of isolated points. +

+ +I hope that such approach would allow to develop powerful map operation +language much like simple relational model of tabular data give birth to SQL. +

+Idea of fGIS was born when I've worked on DOS with EPPL7 and Arc/Info GIS systems. I've found that +on most tasks, related with natural sciences, EPPL7 outperforms Arc/Info +hundred times or so. So, I wanted to have system which is open-source, +have purified ideology, and is free from some EPPL7 limitations, caused +by 16-bit nature of DOS. Later I've found that GRASS already implements most of my ideas, +but GRASS is huge and knowing how other raster GIS like IDRISI are outperformed +by EPPL7, I have very few hopes that its existense makes my efforts useless. +

+Concepts of project, both data model and program design are described +on separate page +

+If you could read Russian, you can read old conceptual paper on functional GIS. + +

Project structure

+ +To avoid inventing of yet another, incompatible scripting language, we +decided to develop f(GIS) as extension to Tcl/Tk. It give us not only +full-featured macro language, but also cross-platform GUI and large set +of extensions, including interfaces to major RDBMS servers. +

+fGIS project now consists of following parts: +

    +
  1. Portable C library to access EPPL7 data files.
    + Documentation in russian language and PDF format + is available. Later, I've decided to drop EPPL DGT vecrtor format in + favor of my own, which would be more suitable for fGIS concept. DGT + is bit too object oriented for me, while it is most compact and fast + of non-topology vector GIS formats available. +
  2. Environmental planning Utilities - reimplementation of major EPPL7 + commands. EPPL7 stands for Environmental Planning Programming Language, + but I don't want special language for it. There are lot of existing ones. + I prefer to use Unix toolbox philosophy, so it is set of independednt + utilities. +

    + Not all of this utilites are written yet. + +

  3. Tcl extensions to visualize data + It is simple and most portable way to write map viewer. Planned + features include drawing of raster maps as semi-transparent patterned + images, which allow to overlay raster over raster, but now only + colored maps work. This extension includes commands for editing raster + files and for spatial queries + +
  4. Set of Tcl libraries to implement high-level tools. + It should lead + to complete graphical application with powerful macro language (TCL itself), + access to most of SQL servers (all which have Tcl interface libraries, + including ODBC standard on Win32 platform). + This libraries should include wrappers + for utilities, to hide from user two important things: +
      +
    1. that raster values are always integer numbers rather than text strings +or real numbers and "legend files" are used to map one to another +
    2. that logical map layer is not nessecary stored in separate raster file. +It can share raster with other layer and differ from it only in value +remapping (reclass) table. +
    + This libraries consist of several abstraction layers, which are not properly + documented yet. +
  5. Tcl application which provides graphical user environment. Idea behind + it is that most everyday tasks should be performed by few mouse clicks, +but if you want more you always can open Tcl console and have a full power +of Tcl at your fingertips, including ability to modify GUI. + + +

    Current state

    + +f(GIS) project haven't reach evel alpha stage yet. +I would consider it alpha not sooner than at least 80% of features would +be implemented. But it is already usable for those who own EPPL7 and want portable viewer for their maps +or utilities which overcome some limitations of EPPL7. You can browse +TO DO list. I would be grateful if you would peek +something from it and attempt to implement it. + +

    +There is no snapshots and releases. This page have only historical +interest +

    +Be sure to read installation instructions +before attempt to install fGIS. +

    +Of course, it is not guaranteed even to compile, nevertheless to run, +although it have been used successfully on Linux (GCC 2.7.2), +Solaris-SPARC (GCC 2.7.2) and (utilities only) DOS (Watcom C 10). +It would almost undoubtely fail to compile on 64-bit platform (any +brave soul with Alpha or UltraPenguin to port?). +

    +Current version of visualisation library works with Tcl/Tk 8.0p2. +It should also work with Tcl 7.6p2/Tk 4.2p2. + +Note that dash patch is +almost neccessary, becouse without it Tk would unable +to print (save to postscript) raster maps, produced by f(GIS). + +Img extensioncan also +be helpful, if your raster data are not limited to GIS maps. +Note that +current version of patch, accompaniing this extension, allows to make offsite of raster maps transparent. In future, this would be requirement, but +for now, while fGIS is not fully functional. I don't like to force you to + apply patches which could break your +other Tcl scripts or extensions. + +

    Distribution policy

    +Once f(GIS) would be released, it would be distributed +under GNU Public license. +Pre-alpha versions are freely downloadable, but can be used for evaluation +only unless you are planning to take part in development. If f(GIS) is useful for you even in such limited state, contact me and I would consider marking some parts of project alpha, +thus allowing their redistribution. + + + + diff --git a/geography/fGIS/install.html b/geography/fGIS/install.html new file mode 100644 index 0000000..eeabc61 --- /dev/null +++ b/geography/fGIS/install.html @@ -0,0 +1,66 @@ + + +fGIS installation instruction + + + + +

    fGIS installation instructions

    +Before compiling and installing fGIS you should have working +installation of Tcl/Tk 8.0 +

    +Pre-alpha snapshots of fGIS source tree do not include correct +install target in makefile. +

    +So, you must install it by hand. Source tree is organized such way that +fGIS can be loaded directly from compilation directory. +

    +fGIS library directory should reside somewhere Tcl can find its packages +i.e. as subdirectory of one of directories in tcl_pkgPath. +

    +Directory tree should have following structure: +

    +  fgis
    +    |
    +    +-pkgIndex.tcl
    +    +-fgis.so (fgis.dll)
    +    +-fgis.rc
    +    +-tcl/
    +    |   |
    +    |   +- various scripts
    +    |
    +    +--colors/
    +    |   |
    +    |   +-color palettes (*.clr)
    +    |
    +    +--symbols/
    +        |
    +	+-- symbol files (*.sym)
    +
    +
    + +fGIS initialization code uses some heuristics to find where its support +files are located, but sureest method is to set Tcl variable +fGIS_HOME to the top of fGIS library directory before loading dynamic +library. +

    +your pkgIndex.tcl can look as +

    +package ifneeded Fgis 1.0 {set fGIS_HOME /usr/local/lib/fgis; load /usr/local/lib/fgis/fgis.so}
    +
    +

    +Directory tcl in fgis source tree contain two executable scripts - +mapview and hypermap. They are sample fGIS +applications. In Unix they can be easily moved to any directory in your +PATH - with correctly set up pkgIndex.tcl they'll find support files +anywhere. On windows they should be renamed to mapview.tcl and +hypermap.tcl so they could be started with double click. +

    +More to follow soon.. + + + + + + + diff --git a/geography/fGIS/levels.gif b/geography/fGIS/levels.gif new file mode 100644 index 0000000..c4b1bb7 Binary files /dev/null and b/geography/fGIS/levels.gif differ diff --git a/geography/fGIS/lib_doc.pdf b/geography/fGIS/lib_doc.pdf new file mode 100755 index 0000000..8edcebe Binary files /dev/null and b/geography/fGIS/lib_doc.pdf differ diff --git a/geography/fGIS/man/border.1.html b/geography/fGIS/man/border.1.html new file mode 100644 index 0000000..cace5a6 --- /dev/null +++ b/geography/fGIS/man/border.1.html @@ -0,0 +1,72 @@ + + + + + +BORDER(1) manual page + + +Table of Contents

    + +

    NAME

    +border - plots contour boundaries of raster file into vector file + +

    SYNOPSIS

    +border [-v] [-m] [-l] [-t value ] [-o output_file ] +

    DESCRIPTION +

    +Creates a dgt file with lines which delimit different classes in input +epp file. If -l option given, puts a label point into each closed polygon. +

    +Default output filename is constructed from name of input file, by replacing +suffix .epp by .dgt .

    +Lines can be created "staircase"-like or smooth. Smoothing +is controlled by tolerance factor, which defines maximum size of line +segment, which can be changed.

    + +

    OPTIONS

    + +
    + +
    --help
    +
    Display brief usage information +and exit successifully.
    + +
    --version
    +
    Display version number and exit successifully. +
    + +
    -%, --verbose
    +
    Display progress indication. Useful on large files, but significantly +decreases performans on small ones.
    + +
    -m, --margins
    +
    Controls behavouir on file +edges. By default border treats all areas outside file as offsite, but +when this option given, it assumes that all classes at the file edge are +continued outside it.
    + +
    -t --tolerance
    +
    Defines tolerance value. Default is zero +-- no smoothing.
    + +
    -o --output-file
    +
    Allows to specify output file name explicitly. +
    +
    +

    + +

    BUGS

    +Label creation is unwritten yet

    +

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/clip.1.html b/geography/fGIS/man/clip.1.html new file mode 100644 index 0000000..c4f2bfb --- /dev/null +++ b/geography/fGIS/man/clip.1.html @@ -0,0 +1,76 @@ + + + + + +CLIP(1) manual page + + +Table of Contents

    + +

    NAME

    +clip - clips a region from old file using mask file +

    SYNOPSIS

    +clip + [-%] [-m number] [-o filename] [--help][--version] file mask +

    DESCRIPTION

    +Clip +creates new file, containing part of old file, which corresponds to given +onsite area or specified class of mask file.

    +Cell size of new file would +be equial to cell size of mask file. If cell sizes don't match, ``nearest +neighbour'' algorithm would be used for rescaling.

    + +

    OPTIONS

    + +
    + +
    --help
    +
    displays +brief usage information.
    + +
    --version
    +
    displays version number
    + +
    -%
    +
    Displays percentage +of processed lines in file.
    + +
    -o file --output-file=file
    +
    gives the name for +output file. Defaults to mosaic.out.epp
    + +
    -m number--mask-value=number
    +
    Clip region +which has class number in the mask file. Otherwise all onsite area of mask +file would be clipped.
    +
    + +

    SEE ALSO

    +window(1) +,mosaic(1) +,eheader(1) +

    + +

    AUTHOR +

    +

    + Victor B. Wagner <vitus@agropc.msk.su>

    + +

    BUGS

    +

    + Should deal with different +cell sizes.

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/cluster.1.html b/geography/fGIS/man/cluster.1.html new file mode 100644 index 0000000..0b8dba8 --- /dev/null +++ b/geography/fGIS/man/cluster.1.html @@ -0,0 +1,90 @@ + + + + + +CLUSTER(1) manual page + + +Table of Contents

    + +

    NAME

    +cluster - fills each contour on raster map with its own color +

    SYNOPSIS +

    +cluster [-v] [-f] input_file [-o output_file ] [-c line_color ] [-T temp_dir] + +

    DESCRIPTION

    +Paints each area in epp file, surrounded by color line_color +by unique color from 1 to maximal contour number. Can handle up to 65535 +contours in file.

    +Requires at least three time more space in temporary +directore then input file occupies.

    +By default assumes that line color +is 0 and output file name cluster.out.epp

    +Performs two passes on input file +and between them prints to stdout information about number of contours +in output file and temporary numbers assigned when calculating contours. +So, redirect standard output, if start cluster in background mode. +

    OPTIONS +

    + +
    + +
    -v
    +
    Verbose mode. Information about current line in processing is printed +to stderr.
    + +
    -c line_color
    +
    - Set contour separation color to line_color.
    + +
    -o +output_file
    +
    - overrides default name of output file.
    + +
    -f input_file
    +
    - Equivalent +of simple command-line parameter without option prefix.
    + +
    -? " -h"
    +
    - Print brief +help message and exit successifully.
    + +
    -T directory
    +
    - Uses directory instead +of /tmp for storing temporary files
    +
    +

    + +

    SEE ALSO

    +lessa(1) +, mappaint(1) +, +mapcopy(1) +, eheader(1) +, epp(5) +, dgt(5) +

    + +

    BUGS

    +For some unknown reason +reports very strange errors (usially page faults) or produces very strange +results, when compilied under DOS. So use unix versions.

    +It seems obvouis, +that same program must perform rasterize operation, but this still not +implemented. +

    AUTHOR

    +Vitus Wagner, SoftWeyr.

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/eheader.1.html b/geography/fGIS/man/eheader.1.html new file mode 100644 index 0000000..1a377c4 --- /dev/null +++ b/geography/fGIS/man/eheader.1.html @@ -0,0 +1,209 @@ + + + + + +EHEADER(1) manual page + + +Table of Contents

    + +

    NAME

    +eheader - display and modify headers of EPPL7 data files +

    SYNOPSIS +

    +eheader options files

    +maplist files

    +mapalign base_file [-v] files +

    DESCRIPTION +

    +Applies given editing commands to list of epp or dgt files.

    +Several commands +are applicable to both file types and several to epp (raster) files only. +No warning is issued when dgt file is processed during section when epp-specific +commands used, becouse several epp-files can be processed at same time. +

    +No warning is issued also when no editing commands given, therefore this +utility can be used just for viewing header information.

    +When invoked as +maplist, simply dumps headers of given files.

    +when invoked as mapalign +performs same operations as with -A key, but only other option accepted +is -v. This option may be given as before, as after base file.

    +

    + +

    UNIVERSAL +OPTIONS

    +This commands can be applied to both dgt (vector) and epp (raster) +files. +
    + +
    -v
    +
    - dumps file header information after applying any edit options +to stdout.
    +
    +

    + +

    + +
    -x increment
    +
    - shifts alternative x by increment. Increment +can be any real number, both positive and negative.
    + +
    -y increment
    +
    - same +with alternative y
    + +
    -s factor
    +
    - multiplies all coordinates by factor
    +
    +

    +This +commands cannot be used together with explicit settings of some alternative +coordinate limit. +

    + +
    -Xl value or -XL value
    +
    - sets alternative x of left border +to specified value
    + +
    -Xr value or -XR value
    +
    - same with right border
    + +
    -Yb value +or -YB value,-Yt value or -YT
    +
    - same with bottom and top y
    + +
    -p name
    +
    - set +projection type to name. Available projection types ( EPPL7 version 3.0 +) are:
    + +
    none
    +
    - cause EPPL ver 3 to say "No alternate coordinates"
    + +
    utm +or UTM
    +
    - UTM projection
    + +
    stplate
    +
    - state plane (projection for US state +maps)
    + +
    ll
    +
    - latitude and longitude (geographic coordinates)
    +
    + + +

    EPP SPECIFIC +COMMANDS

    +Following is applicable to EPP files only: +
    + +
    -o n
    +
    - set offsite +value to n. Value can be in range -32768 65535. Negative values are equivalent +to 65536-abs(n). Values above 255, applied to 8-bit data files are silently +translated into -1 (no offsite)
    + +
    -fr n
    +
    - set first row to n and updates +last row field respectively.
    + +
    -fc n
    +
    - set first column to n and updates +last column field.
    + +
    -A filename
    +
    - align to specified file, i.e updates row/column +coordinates so row and column with same number have same alternative coordinates. +
    + +
    -a value
    +
    - set cell area to value.
    + +
    -c "string"
    +
    - fills description field +of the header. String must be single command line argument, but not nessecary +need quotes.
    + +
    -u name
    +
    - set area unit type, where unit type may be:
    + +
    none +
    +
    - cause EPPL ver 3 to say "No alternate coordinates"
    + +
    ft
    +
    - square feet +
    + +
    m
    +
    - square meters
    + +
    km
    +
    - square kilometers
    + +
    mile - square miles
    +
    + +
    ha
    +
    - hectares +
    + +
    acre
    +
    - acres
    +
    +

    +This command does not perform any recalculation, it just +update unit name field. Use -a command for change cell area value respectively. + + +

    OPTION COMPATIBILYTY

    +Some options of eheader cannot coexist together +in same command line. there are two groups of options with incompatibilities +between subgroup of each group.

    + First, options dealing with alternative +coordinates. There are options -Xl -Xr -Yt -Yb, which set alternative coordinates +explicitely, and options -x -y -s, which change coordinates by arithmetic +calculations. Explicit and arithmetic changes of coordinates are not allowed +simulateneously, becouse it is to hard to understand, which kind user +want to apply first.

    + Second, options dealing with row/column coordinates +of epp files. Here there are options -A and -fr -fc which performs directly +opposite task. (usially -fr -lr are used to set first row and column to +one, to process file cutted from large file separately and -A to change +it back to mosaic(1) + file into larger one.

    + +

    SEE ALSO

    +lessa(1) +, mappaint(1) +, +mapcopy(1) + epp(5) +, dgt(5) + +

    BUGS

    +No check is performed by -fr and -lr command +to ensure that row/column values are in valid range.

    +-A command sometimes +miscalculates one cell. (but EPPL ver 2.1 does the same). +

    AUTHOR

    +Vitus Wagner, +SoftWeyr.

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/extents.1.html b/geography/fGIS/man/extents.1.html new file mode 100644 index 0000000..3695de3 --- /dev/null +++ b/geography/fGIS/man/extents.1.html @@ -0,0 +1,104 @@ + + + + + +EXTENTS(1) manual page + + +Table of Contents

    + +

    NAME

    +extents - displays information about class extents in given EPP file. + +

    SYNOPSIS

    +extents [-%ahlrtbxtA] [-o file] file.epp +

    DESCRIPTION

    +

    + Extents +calculates area extents of all classes in given file and displays it in +tabular form.

    + This information includes minimal and maximal coordinates +and area of class.

    +By default information is printed to stdout.

    + It may +be given in row/column and alternative coordinates. +

    OPTIONS

    + +
    + +
    --help
    +
    displays +brief usage information.
    + +
    --version
    +
    displays version number
    + +
    -% --verbose
    +
    Displays +percentage of processed lines in file.
    + +
    -o file --output-file=file
    +
    gives the +name for output file, to write results to, instead of standard output. +
    + +
    -a --alt-coords
    +
    display coordinates in alternative system and area in real +units, insted of row/col and cell count.
    + +
    -h --header
    +
    display one-line header +above table.
    + +
    -l --sort-left
    +
    sort classes by leftmost coordinate
    + +
    -r --sort-right +
    +
    sort classes by rightmost coordinate
    + +
    -t --sort-top
    +
    same for topmost coordinate +
    + +
    -b --sort-bottom
    +
    I'm tired with this sort orders
    + +
    -A --sort-area
    +
    Sort classes +by count of cells.
    + +
    -x --sort-x-center
    +
    Sort by x-coordinate of center of rectangle, +containing all cells of that class. -y --sort-y-center same, but by y-coordinate +
    +
    +

    + +

    SEE ALSO

    +outtable(1) +

    + +

    AUTHOR

    +

    + Victor B. Wagner <vitus@agropc.msk.su>

    + +

    BUGS +

    +

    + ???

    +

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/fgisRasterColorImage.n.html b/geography/fGIS/man/fgisRasterColorImage.n.html new file mode 100644 index 0000000..32d0167 --- /dev/null +++ b/geography/fGIS/man/fgisRasterColorImage.n.html @@ -0,0 +1,144 @@ + + + + + +palette(n) manual page + + +Table of Contents

    +

    + +

    NAME

    +fgisRasterColorImage, fgisRasterBWImage - render raster object into +planchet item

    + +

    SYNOPSIS

    +fgisRasterColorImage raster planchet item ?option +?

    + fgisRasterBWImage raster planchet item ?option ?

    + +

    DESCRIPTION

    +

    + These +commands perform visualisation of fGIS raster objects in fGIS planchet +(essentially same as Tk canvas). They work on platform independent manner, +creating visible representation of layer in Tk image object, which should +be previously created.

    + User (and even application writer) seldom accesses +this commands directly. Raser layer objects and planchet subcommands should +be used to visualize raster layers.

    + These commands controls all attributes +of layer appearance, which have no semantic meaning. I.e. raster file class +to palette index correspondence is part of raster object, becouse it also +used for access legend and GIS operation, while palette itself appear +only in call to this command, becouse it used only to visualisation.

    + + +

    ARGUMENTS

    +

    + +

    + +
    raster -
    +
    name of fGIS raster object (see raster (n) +).
    +
    +

    + +

    + +
    planchet + -
    +
    name of fGIS planchet widget. Planchet should be mapped and have coordinate +system already defined.
    +
    +

    + +

    + +
    item -
    +
    ID of planchet item to render raster in. +It should exist, be of type image and contain valid image (photo for fgisRasterColorImage + and bitmap for fgisRasterBWImage ) in its -image atribute.
    +
    +

    + +

    OPTIONS

    + +
    + +
    -border +option -
    +
    specifies whether borders between raster object classes or base +file classes (polygon borders) should be drawn. Option can be one of none +, yes , base . Abbreviations are not allowed (bug?). yes means that borders +are drawn only between distinct classes of current raster object, base + means that borders should be drawn if base file classes are distinct, +even if they are reclassed into same value. Useful for choropleth plots. +
    +
    +

    + For symbol plots option is ignored. Defaults to none for color images +and yes for BW images. +

    + +
    -color color
    +
    - specifies color to plot borders +in color mode or for entire image in pattern or symbol mode. color can +be any form of color specification, acceptable by Tk. Defaults to "black". +
    + +
    -map option -
    +
    specifies how to deal with map classes, which exceed palette +or pattern range (0-255). Option is one of wrap - use symbol (color) class%255 + for classes which exceeds 255, none - use symbol (color) 255 for all +these clases and number - map range 0-max class to range 0-number . Defaults +to wrap .
    + +
    -palette palettename (color only) -
    +
    specifies fGIS palette object +to use for coloring of map classes. Defaults to defaultpalette .
    + +
    -patterns +patternname (BW only) -
    +
    sets plotting mode to pattern and specifies pattern +set to plot. In pattern mode patterns are clipped by polygon boundaries, +and thus any border modes are allowed. Defaults to {} (empty pattern). This +mode is default for fgisRasterBWImage
    + +
    -symbols patternname (BW only) +-
    +
    sets plotting mode to symbol and specifies pattern set to plot. In symbol +mode patterns can be drawn only at whole, so if central point of pattern +belongs to certain class, pattern for this class would be drawn on entire +rectangle. Borders are never plotted in this mode No defaults, becouse +this mode must be turned on explicitely.
    + +
    -update {x1 y1 x2 y2}
    +
    - Specifies, +that only part of image should be replotted. Useful for raster editing +application. Rectangle to update is given in map coordinates. It is clipped +by image boundaries.
    +
    +

    + +

    SEE ALSO

    +raster(n) +,planchet(n) +,palette(n) +, patterns(n) + +

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/legend.n.html b/geography/fGIS/man/legend.n.html new file mode 100644 index 0000000..1720471 --- /dev/null +++ b/geography/fGIS/man/legend.n.html @@ -0,0 +1,134 @@ + + + + + +legend(n) manual page + + +Table of Contents

    + +

    NAME

    +legend - Create and manipulate EPTcl legends

    + +

    SYNOPSIS

    +legend read +filename options

    + legend parse string

    + legend set list

    + +

    DESCRIPTION +

    +

    + legend creates legend object, which is used to store and manipulate +descriptive information about maps. There are three ways to create legend: + +

    + +
    from file, which shoild be an EPPL7 legend file
    +
    + +
    from string, which should +hold content of such file
    +
    + +
    from Tcl list, simular to one, used for array +set command
    +
    +
    +

    +legend command returns handle for legend which is unique +identifier, used for subsequent references for this legend. It creates +new Tcl command with name of this identifier, that used to manipulate +legend.

    +Actually, legend object is combination of global array and Tcl +procedure, and legend handle is simply name of both of them.

    + +

    OPTIONS +

    + +
    + +
    legend read filename
    +
    Opens and reads text file in EPPL7 format. Each +line of this file contain number and descriptive text, separated by two +spaces (originally, there should be some information concering printing +map on line printer (not graphical one) between this spaces, but this +format is no longer used and supported. Numbers between 0 and 65535 are +considered map classes and numbers -2 and -1 have special meaning - they +are considered legend title and subtitle respecitvely. There can be several +lines with same classes in legend. They are concatenated. Note that EPTcl +never uses this line separations as line breaks when outputting legend +(may be this should go to BUGS section)
    + +
    legend parse string
    +
    Produces +legend from string which should be identical to content of EPPL7 legend +file.
    + +
    legend set list
    +
    Produces legend from Tcl list. Such list can be +obtained by array get legendname command. Differ from array set in that +finds correct name for legend and defines object command for it. Can be +used to create empty legend for subsequentual filling by legendname set + subcommand. In this case empty list should be specified.
    +
    +

    + +

    OBJECT COMMAND +

    + +
    + +
    legendName classes
    +
    Return sorted list of classes defined in legend
    + +
    legendName +delete
    +
    Destructor of object. Unsets all data and destroys object command. +
    + +
    legendName drawable ?boolean?
    +
    if boolean specified, set legend drawmode +and return nothing. Otherwise returns 0 or 1, depending of current settings. +Drawmode controls if legend could be displayed in legend box.
    + +
    legendName +get class
    +
    Returns value of given class or string "Not defined",such +class is not defined. String could be changed by changing value of element +udefined_legend of global array fgis
    + +
    legendName print
    +
    Returns content +of legend in form of EPPL7 legend format as string.
    + +
    legendName set class +value
    +
    Changes description of given class
    + +
    legendName subtitle ?string +?
    +
    If no string specified, returns current legend subtitle. Otherwise +replaces subtitle by given string
    + +
    legendName title ?string ?
    +
    If no string + specified, returns current legend title. Otherwise replaces title by given +string
    +
    + +

    BUGS

    +None noticed

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/mosaic.1.html b/geography/fGIS/man/mosaic.1.html new file mode 100644 index 0000000..3f33a61 --- /dev/null +++ b/geography/fGIS/man/mosaic.1.html @@ -0,0 +1,94 @@ + + + + + +MOSAIC(1) manual page + + +Table of Contents

    + +

    NAME

    +mosaic - merges several epp files together +

    SYNOPSIS

    +mosaic [-%RA] +[-O number] [-o filename] [--help][--version]files +

    DESCRIPTION

    +Mosaic merges +several epp-files into one. If some cell has non-offsite value in several +files, value from last files would be used.

    +Cell sizes of all old files +must be equial. Usially mosaic deals with properly aligned files, but +it can deal with misaligned files, taking into account row/column or alternative +coordinates regarding to command-line options.

    +If offsite value is not +explicitely given in command line, it defaults to offsite of first (base) +file if it is not used as data class in one of overlay files. In last case +offsite would be set to 255 for 8-bit and to 65535 to 16-bit files. +

    OPTIONS +

    +

    + +

    OPTIONS

    + +
    + +
    --help
    +
    displays brief usage information.
    + +
    --version
    +
    displays version +number
    + +
    -%
    +
    Displays percentage of processed lines in file.
    + +
    -o file --output-file=file +
    +
    gives the name for output file. Defaults to mosaic.out.epp
    + +
    -A --force-alt
    +
    Do +not complain, if files are misaligned. Use alternate coordinates to reference +them.
    + +
    -R --force-row
    +
    Same, but use row/col cordinates.
    +
    +

    + +

    + +
    -O value --offsite=value +
    +
    specifies offsite value of new file.
    +
    +

    + +

    SEE ALSO

    +eheader(1) +,window(1) +

    + + +

    AUTHOR

    +

    + Victor B. Wagner <vitus@agropc.msk.su>

    + +

    BUGS

    +

    + ???

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/neighbours.1.html b/geography/fGIS/man/neighbours.1.html new file mode 100644 index 0000000..debc57d --- /dev/null +++ b/geography/fGIS/man/neighbours.1.html @@ -0,0 +1,75 @@ + + + + + +NEIGHBOURS(1) manual page + + +Table of Contents

    + +

    NAME

    +neighbours - prints list of neighbouring clasees in epp-file +

    SYNOPSIS +

    +neighbours [-%][-d] file +

    DESCRIPTION

    +This command searches epp-file for +all class boundaries and print a table of class pair which are neighbouring +at least in one place. DO NOT MIX it with EPPL7 NEIGHBOUR command, which +is part of evaluate(1) + in EPU.

    + It prints pairs of classes to stdout, one +per line separated by commas.

    + Each pair of classes can be printed once +or twice, first among neighbours of first class in pair, than neighbours +of second.

    + +

    OPTIONS

    + +
    + +
    --help
    +
    displays brief usage information.
    + +
    --version
    +
    displays +version number
    + +
    --verbose -%
    +
    Displays percentage of processed lines in file. +
    + +
    -d --double
    +
    print each pair twice.
    +
    +

    + +

    SEE ALSO

    +outtable(1) +,mapcolor(1) +,evaluate(1) +,extents(1) +. +

    + +

    AUTHOR

    +

    + Victor B. Wagner <vitus@agropc.msk.su>

    + +

    BUGS

    +

    + ???

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/outtable.1.html b/geography/fGIS/man/outtable.1.html new file mode 100644 index 0000000..a9c327d --- /dev/null +++ b/geography/fGIS/man/outtable.1.html @@ -0,0 +1,192 @@ + + + + + +OUTTABLE(1) manual page + + +Table of Contents

    + +

    NAME

    +outtable - computes table of statistics from several epp files. +

    SYNOPSIS +

    +outtable [options] [function] file [ [function] file ...]

    + +

    DESCRIPTION +

    +outtable takes several epp-files counts all possible combinations of +classes in them and produces table of them.

    +Some files can be preceded +by function Such files wouldn't be used to define new combination. Instead, +corresponding column of table would contain value of function, computed +from this file for area, defined by combination of classes of all "function-less" +files.

    +All files, used to define combination, should be specified before +first file with function.

    +If no function defined, table would be appended +by column, containing area of each combination.

    +If all files have function, +table would contain only one row, containing values of the functions for +all area.

    +If files have different cell size and limits, limits and coordinate +systems of the first file are used, unless overriden by --base option. +

    +By default, semantic value of classes are considered equial to values +of classes. This can be overridden by specifying parameters of linear mapping +function using

    + -z and -Z options. This option can be specified only once +per invocation, becouse usially outtable is used to calculate statistics +for one file in combinations, given by several other files.

    +By default, +all area-related values are calculated in alternative coordinate units. +It can be overriden using -c option. +

    OPTIONS

    + +
    + +
    --help
    +
    displays brief usage +information.
    + +
    --version
    +
    displays version number
    + +
    --verbose -%
    +
    Displays percentage +of processed lines in file.
    + +
    -u --union
    +
    Take into account all cells, where +at least one of output files is not offsite. By default, only cells where +all input files are onsite are taken into account.
    + +
    -c --cells
    +
    Output areas +in cells. By default map units as specified in file header are used to +compute areas.
    + +
    -dchar --delimiter=char
    +
    sets table column separator to char. +Defaults to comma.
    + +
    -b file--base file
    +
    Specifies epp file, used as reference +grid. Cell area and cell size of this file, as well as its coordinate limits +would be used for processing. Defaults to first file in the command line. +
    + +
    -z value
    +
    Specifies multiplier for calculating semantic value from class +value.
    + +
    -Z value
    +
    Specifies offset of semantic values, i.e. semantic value +of class 0.
    +
    + +

    FUNCTIONS

    + +
    + +
    -sum
    +
    Sum of classes in given file for combination, +multiplied by cell area.
    + +
    -cnt
    +
    Count of onsite cells of given file.
    + +
    -avg +
    +
    Average cell value
    + +
    -min
    +
    Minimum cell value
    + +
    -nmin
    +
    Area of cells with minimum +value
    +
    +

    + +

    + +
    -max
    +
    Maximum cell value
    + +
    -nmax
    +
    Area of cells with maximum value +
    + +
    -mode
    +
    Modal value (value of most cells)
    + +
    -nmode
    +
    Area of cells with modal +value
    + +
    -fewest
    +
    Class with fewest cells
    + +
    -nfewest
    +
    Area of cells in fewest +class
    + +
    -range
    +
    Range of classes (maximum-minimum)
    + +
    -classes
    +
    Number of different +classes
    + +
    -or
    +
    Bitwise or of all cells (values of -z and -Z options are not +used)
    + +
    -and
    +
    Bitwise and of all cells (values of -z and -Z options are not +used)
    + +
    -std
    +
    Standard deviation of classes
    + +
    -var
    +
    Variance of classes
    + +
    -corr +
    +
    Correlation coefficient between two files. Requires two arguments.
    +
    + +

    SEE +ALSO

    +intable(1) +,reclass(1) +,evaluate(1) +,resample(1) +,eheader(1) +

    + +

    AUTHOR +

    +

    + Victor B. Wagner <vitus@agropc.msk.su>

    + +

    BUGS

    +

    + ???

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/palette.n.html b/geography/fGIS/man/palette.n.html new file mode 100644 index 0000000..6a81f42 --- /dev/null +++ b/geography/fGIS/man/palette.n.html @@ -0,0 +1,110 @@ + + + + + +palette(n) manual page + + +Table of Contents

    +

    + +

    NAME

    +palette - Create and manipulate color palettes

    + +

    SYNOPSIS

    + palette +option ?arg ?

    + +

    DESCRIPTION

    +

    +This command creates palette object, which +is used for map visualisation. Palette is array of 256 RGB color specifications, +indexed by integers from 0 to 255. Typically palette entry N is used for +displaying map class N. Upon creation of object new Tcl command with same +name as object is defined and can be used for manipulating palette. palette + command returns name of created object. One palette, named defaultpalette + is created during initialization of fGIS. In difference of user-created +palettes it cannot be modified.

    + +

    OPTIONS

    + +
    + +
    palette read filename
    +
    - reads +palette from specified file. File should confirm EPPL7 clr file syntax. +
    + +
    palette parse string
    +
    - reads palette from string. String should have same +format as EPPL7 clr file.
    + +
    palette set list
    +
    - creates palette from list +of color specification. Each element of list should have format #rrggbb. +Color names are not supported by palettes. Color specifications are assigned +to palette indices in sequentual order.
    + +
    palette blank
    +
    - creates new palette +with all entries set to white (#ffffff).
    +
    +

    + +

    + +
    palette copy paletteName
    +
    - creates +a copy of existing palette. This allows to create modifable copy of default +palette.
    +
    + +

    OBJECT COMMAND

    +Palette object names can be used as command names. +They support folowing options: +
    + +
    paletteName delete -
    +
    destroys palette +object.
    + +
    paletteName get index
    +
    - return color for given index in palette. +Color is returned as #rrggbb, and can be used as color specification in +Tk commands.
    + +
    paletteName list
    +
    - return list of all colors in palette. This +list always contains 256 elements. This list can be used as argument for +palette set command, to create same palette.
    + +
    paletteName print
    +
    - returns +string, containing content of valid EPPL7 clr file, which can be used +to reproduce this palette.
    + +
    paletteName set index value
    +
    - changes contents +of given entry to value . Value should be in form #rrggbb. Other forms of +colors, supported by Tk are not supported by palettes.
    +
    + +

    SEE ALSO

    +patterns(n) +,fgisRasterColorImage(n) +. +

    +

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/planchet.n.html b/geography/fGIS/man/planchet.n.html new file mode 100644 index 0000000..542b3d5 --- /dev/null +++ b/geography/fGIS/man/planchet.n.html @@ -0,0 +1,617 @@ + + + + + +planchet(n) manual page + + +Table of Contents

    +
    +
    + +

    NAME

    +planchet - Create and manipulate planchet widgets +

    SYNOPSIS +

    +planchet pathName ?options ? +

    STANDARD OPTIONS

    +

    +

    + -background    -insertwidth    -state +
    + -insertbackground    -relief    -tile
    + -cursor    -insertborderwidth    -selectbackground    -takefocus +
    + -highlightbackground    -insertofftime    -selectborderwidth    -xscrollcommand
    + -highlightcolor    -insertontime    -selectforeground    -yscrollcommand +
    +

    +See the options manual entry for details on the standard options.

    +Note: + Standard optiosn -highlightthickness and -bordewidth are ignored by planchet, +and set to 0. Therefore -relief options have no effect. +

    WIDGET-SPECIFIC +OPTIONS

    +

    +

    +Command-Line Name:    -coordformat
    + Database Name:    coordFormat
    + Database +Class:    CoordFormat
    + +

    + +
    Specifies format string to display current map coordinates, +if no projection
    +
    defined. Defaults to "X=%0.8g Y=%0.8g"
    +
    +

    +

    +Command-Line Name:    -orient +
    + Database Name:    orient
    + Database Class:    Orient
    + +

    + +
    Specifies printing orientation +for this planchet. May be either portrait
    +
    or landscape. Defaults to landscape +
    +
    +

    +

    +Command-Line Name:    -lookwidth
    + Database Name:    lookWidth
    + Database Class:    LookWidth +
    + +

    + +
    Wraplength of text in popup look window. Defaults to 200.
    +
    +
    +

    +

    +Command-Line +Name:    -shiftfactor
    + Database Name:    shiftFactor
    + Database Class:    ShiftFactor +
    + +

    + +
    Specifies share of window size to move on shift widget command.
    +
    Defaults +to 0.75
    +
    +

    +

    +Command-Line Name:    -resizable
    + Database Name:    resizable
    + Database +Class:    Resizable
    + +

    + +
    Specifies a boolean value that indicates whether or +not should planchet
    +
    adjust its width/height ratio, when coordinate limits +are first defined.
    +
    +

    +

    +Command-Line Name:    -rulerpos
    + Database Name:    rulerPos +
    + Database Class:    RulerPos
    + +

    + +
    Indicates position of scale ruler in planchet. +(its left end). Should be
    +
    list of two coordinates in any form, acceptable +by Tk. Positive values are measured from top and left and negative from +lower and right side of planchet
    +
    +

    +

    +Command-Line Name:    -scalevar
    + Database +Name:    scaleVar
    + Database Class:    Variable
    + +

    + +
    Specifies the name of variable. +Current scale of map would be stored in
    +
    this variable automatically upon +each change of scale in form 1:denominator. If variable doesn't exist in +global scope, it would be created.
    +
    +

    +

    +Command-Line Name:    -statusline
    + Database +Name:    statusLine
    + Database Class:    none
    + +

    + +
    Specifies name of label widget +which would be used for displaying status
    +
    information of planchet (i.e. +current mouse pointer coordinates). Widget should exist before creating +planchet or before passing it to planchet configure command.
    +
    +

    +

    +Command-Line +Name:    -legbox
    + Database Name:    legBox
    + Database Class:    none
    + +

    + +
    Specifies +name of canvas widget which would display scrollable legend of
    +
    base +layer. Note, that scrollable legend is not printed automatically by print +command. All contents of this widget would be erased each time base layer +changed in planchet.
    +
    +

    +

    +Command-Line Name:    -zoombutton
    + Database Name:    zoomButton +
    + Database Class:    none
    + +

    + +
    Specifies name of button, which is used to initiate +zoom operation on
    +
    canvas. (usially via zoom ) widget command. Planchet +controls its state, disabling it, if coordinate system is not defined. +It should exist before it passed to planchet.
    +
    +

    +

    +Command-Line Name:    -unzoombuttons +
    + Database Name:    unzoomButtons
    + Database Class:    none
    + +

    + +
    Specifies list +of buttons, which are used to perform various unzoom operations
    +
    (like +unzoom or limits default widget commands). Planchet controls their state, +disabling them if such operations are impossible.
    +
    +

    +

    +Command-Line Name:    -shiftbuttons +
    + Database Name:    shiftButtons
    + Database Class:    none
    + +

    + +
    Specifies list of +four buttons for perform shift operation on planchet.
    +
    Buttons are specified +in following order left(west) down(south) up(north) + and right(west), +the same way as vi cursor movement keys are situated on keyboard.
    +
    +

    +

    +Command-Line +Name:    -zoombutton
    + Database Name:    zoomButton
    + Database Class:    none
    + +

    + +
    Specifies +name of button, which is used to initiate zoom operation on
    +
    canvas. (usially +via zoom ) widget command. Planchet controls its state, disabling it, if +coordinate system is not defined. It should exist before it passed to planchet. +
    +
    +

    +

    +Command-Line Name:    -unzoombuttons
    + Database Name:    unzoomButtons
    + Database +Class:    none
    + +

    + +
    Specifies list of buttons, which are used to perform various +unzoom operations
    +
    (like unzoom or limits default widget commands). Planchet +controls their state, disabling them if such operations are impossible. +
    +
    +

    +

    +Command-Line Name:    -shiftbuttons
    + Database Name:    shiftButtons
    + Database +Class:    none
    + +

    + +
    Specifies list of four buttons for perform shift operation +on planchet.
    +
    Buttons are specified in following order left(west) down(south) +up(north) + and right(west), the same way as vi cursor movement keys are +situated on keyboard. This buttons should be either all be specified or +all be empty, in which case list of four empty elements should be passed. +Planchet not only controls state of buttons, but also redefines their +commands.
    +
    +

    +

    +Command-Line Name:    -projection
    + Database Name:    projection
    + Database +Class:    none
    + +

    + +
    Specifies Fgis projection object which is used to convert +chartographic
    +
    coordinates of planchet into geographic (latitude and +longitude) and vice versa.
    +
    +

    +

    +In addition to these all options of canvas + widget are supported. +

    INTRODUCTION

    +

    +The planchet command creates a new +window (given by the pathName argument and makes it into planchet widget. +

    + Additional options, described above, can be given to control its behavoir. +Currently they could be specified only in command line, not in option +database, but it shoudl change in future.

    + planchet command returns its +pathName argument. At the time this command is invoked, there must not +exist a window, named pathName , but pathName 's parent must exist. planchet + command also creates new Tcl command named pathName which can be used +to control widget.

    +

    + Planchet widget have all behavoir supported by Tk +canvas widget, but, in addition it could have chartographic coordinate +system and able to visualize and manipulate maps.

    + +

    COORDINATE SYSTEM

    +

    + +Planchet coordinate system is real-world coordinate system. Its coordinates +should be in meters of earth surface, not in pixels, millimeters or other +map sheet or screen-related units. It can be defined either explicitely +via limits widget command, or implicitely, when first map is shown in +planchet.

    + There are special commands which allow to recalculate from map +(realword) coordinates to screen coordinates. Screen coordinate system +of planchet is same as of canvas. +

    LAYERS

    +Planchet can visualize maps, +which are represented as Fgis layer objects. There are two ways of display +layer - as base layer or as ovelay.

    +Base layers are opaque, they are typically +raster layers, shown by colors. There can be only one base layer in plachet +in given time. If legbox helper widget is defined, and legend for base +layer is drawable, it would be displayed in this widget. Several layer +types couldn't be displayed as base layers.

    +

    +Overlay layers are transparent, +although visible. There can be several overlay layers in planchet at given +time. Any layer can be displayed as overlay.

    +When first layer is displayed +in planchet, with undefined coordinate system, coordinate system limits +for planchet are got from limits of layer. If layer cannot provide this +information, it causes an error.

    + +

    HELPER WIDGETS

    +

    + Planchet can be accompanied +with several other widgets, which are used to interact with user. If this +widgets are passed to planchet via commandline options (or via widget +configure ) command, it can control them automatically and disable them, +if corresponding action is impossible. See OPTIONS ABOVE .

    + +

    SCALE INDICATION +

    +

    + There are two traditional ways of scale indication - numerical and graphical. +As numerical indication, -scalevar option of planchet widget allows to +specfy Tcl global variable, which would always hold current value of map +scale.

    +As graphical representation of scale, planchet can display scale +ruler which shows how some realword distance is visible in planchet.

    + + +

    LOOK FEATURE

    +

    + Planchet allows to collect information from several layers +in given point. By default it pops up window with this information on right +button click. Set of layers which included in this information is called +look list .

    + +

    WIDGET COMMAND

    +

    +

    + The planchet command creates a new Tcl command +whose name is pathName . This command can be used to invoke various operaitons +on the widget. It has following general form:

    + pathName option ?arg arg +.. ?
    +

    + Option and the arg s determine the exact behavior of the command. +Planchet supports all widget commands, defined for canvas widget and +following special commands, specific to planchet: +
    + +
    pathName clear
    +
    Removes +all layers from planchet, and from look list and unsets coordinate system +
    + +
    pathName cget option
    +
    Returns value of specified configuration option. +In addition to standard options and widget specific options, supports +all options of canvas widget. Several internal variables can also be obtained +this way, but it is dirty and undocumented hack.
    + +
    pathName configure option +arg ?option arg ...?
    +
    Allows to change value of one or more options.
    + +
    pathName +fit x y
    +
    Returns 1 if point, given in real world coordinates is inside +current planchet limits, and 0 otherwise.
    + +
    pathName hide pattern ?pattern...? +
    +
    Removes all layers which matches pattern from planchet.
    + +
    pathName layers + ?pattern ?
    +
    Return list of all visible layers, either base or overlays, +which match given pattern. By default - all layers.
    + +
    pathName limits
    +
    Used +to control limits of realword coordinate system. Can have one of following +form
    + +
    limits
    +
    Without any arguments return list of four double values, +representing real world coordinates of window sides. They are given in +folowing order:

    + XLeft YBottom XRight YTop
    +

    +
    + + +
    + +
    limits list
    +
    + +
    limits xleft +ybottom xright ytop
    +
    Given list of four double values or four double +values as separate arguments, sets planchet limits for this value. If -resizable + option is true and no coordinate system was defined before, adjusts width/height +ratio of planchet to reflect this ratio of given limits. Otherwise expands +given limits to have same width/height ratio as widget.
    +
    +

    + If directions +of axes of given limits doesn't match those of currently defined coordinate +system, silently reverts them. Therefore order of coordinates in insignificant, +once coordinate system is defined.

    + If coordinate system was defined, assumes +that zooming operation is performed and stores old limits in zoom stack +for subsequent unzoom operation. If scale of given limits is smaller, then +of some limits in zoom stack, discards all elements with scale larger +than given for unzoom operation shouldn't increase scale. Nevertheless initial +limits are never discarded this way. +

    + +
    limits default
    +
    Clears zoom stack +and restores coordinate limits to their initial values.
    +
    + + +
    + +
    pathName look +
    +
    Controls LOOK FEATURE of planchet. Can have one of following forms +
    + +
    look add layer
    +
    adds layer to look list.
    + +
    look list ?pattern ?
    +
    Returns +list of layers in look list, which match pattern. By default all layers +
    + +
    look remove pattern
    +
    removes layers which match pattern from look list +
    + +
    look remove all
    +
    clears look list entirely
    + +
    look x y ?-titled|-list|-raw ? +
    +
    return list of information for all layers in look list at given point. +If -titled option is specified, each element in list is formatted string. +Otherwise it is two element list which first element - layer title, and +second - layer value. -raw option returns only values, without layer title +information.
    +
    +

    + Length of this list not neccesary matches length of look +list, becouse if some layers are undefined in given point, they do not +create list element. + +

    + +
    pathName mapx x
    +
    + +
    pathName mapy
    +
    Given screen coordinate +in any form, acceptable by Tk, returns realword coordinate.
    + +
    pathName print + ?option arg ...?
    +
    Wrapper around postscript command. Uses default Fgis font +mapping and print system, also widget default orientation. By default, +send output to default Fgis printer using command, defined in fgis configuration +file.
    +
    +

    + Following options are supported:

    -colormode mode Same as colormode + option in canvas postscript command. +
    + +
    -file filename
    +
    Write postscript +representation of planchet into given file, instead of piping it to print +command.
    + +
    -fontmap variable
    +
    array used to map screen fonts to postscript +fonts. See canvas postscript command for more information.
    + +
    -printer printername +
    +
    Overrides default printer, specified in fgis.rc file.
    +
    +
    + +
    + +
    pathName ruler +?on|off?
    +
    Controls scale ruler.
    + +
    pathName scale ?denominator ?
    +
    With no +arguments returns current scale denominator. If denominator is given, +adjust coordinate limits so that scale would be as specified and center +point of widget would have same realworld coordinates as before.
    +
    +

    + If any +other arguments are specified, behaves as canvas widget scale command. +

    + +

    + +
    pathName scrx x
    +
    + +
    pathName scry y
    +
    Given realworld coordinate, returns +screen coordinate in pixels.
    + +
    pathName setstatus
    +
    Displays message if -statusline + helper widget, if defined, otherwise does nothing. Can have one of two +form:
    + +
    setstatus message
    +
    displays message as specified
    + +
    setstatus x y +
    +
    Displays given coordinates. If no projection defined, they would be displayed +using Tcl format command with value of -coordformat option as first argument. +Otherwise they would be displayed using format object command of current +projection.
    +
    + + +
    + +
    pathName shift direction
    +
    Changes current coordinate limits +so that current view shifts in specified direction by share of corresponding +widget size, specified by -shiftfactor option.
    + +
    pathName show layer ?-base +|-overlay ?
    +
    Displays specified layer. If neither -base nor -overlay is specifed, +shows layer as base if no base layer currently present and layer can be +displayed as base. Otherwise displays it as overlay.
    + +
    pathName unzoom
    +
    Pops +last coordinate limits from zoom stack
    + +
    pathName zoom ? x y ? x y ?? +
    +
    Initiates interactive zoom operation. If no coordinates are specified, +prompts user to pick both corners of rectangle to display. If one pair +is specified, prompts only for second pair. With two pairs just converts +values from canvas to realworld coordinates and performs limits command +on them.

    + pathName zoom cancel
    +

    +
    + + can be used to abort interactive zoom +operation currently in progress.

    + pathName zoom cancel
    +

    + can be used +to abort interactive zoom operation currently in progress. +

    SEE ALSO

    +layer(n) + + +

    BUGS

    +No care taken to do something useful if interactive zoom operation +is performed on two planchets simulateously.

    +

    +

    +

    +

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/projection.n.html b/geography/fGIS/man/projection.n.html new file mode 100644 index 0000000..a93bb9a --- /dev/null +++ b/geography/fGIS/man/projection.n.html @@ -0,0 +1,147 @@ + + + + + +projection(n) manual page + + +Table of Contents

    +.SH NAME
    + +projection \- Create and manipulate projection objects +

    +.SH SYNOPSIS
    + +\fB projection \fItype\fR ?\fIparameters\fR?
    + +.PP +

    +.SH DESCRIPTION
    + +.PP + +

    This command creates projection object, used to recalculate geographic

    + +

    +coordinates (latitude and longitude) into map projection coodrinates. +.PP
    + +\fBprojection\fR command takes list of options and +returns name of newly created projection object. + +

    Name of object can be used as Tcl command which have several subcommands

    + +

    +(see \fBPROJECTION SUBCOMMANDS\fR below) used for manipulation +of projections. +

    +.SH PROJECTION TYPES + +

    Most important property of projection is projection type. fGIS supports

    + +

    +following types of projections: +

    +\» list should be here +

    +.SH PROJECTION OPTIONS +

    +\» list should be here +

    +.SH PROJECTION SUBCOMMANDS
    + +.TP 8
    + +\fIprojName \fBforward\fI long lat\fR
    + +recieves two arguments - geographic longitude and latitude as degrees in +decimal format and returs list of two double values representing map +coordinates in meters. +

    +.TP 8
    + +\fIprojName \fBbackward\fI X Y \fR
    + +performs backword transformation - given map coordinates in meters +returns longitude and latitude in decimal degrees, +.TP 8
    + +\fIprojName \fBformat\fI X Y\fR ?\fB-format\fI formatString\fR + +

    Returns formatted representation of latitude and longitude. String

    + +

    +can contain following escapes sequences:
    + +.RS
    + +.TP
    + +\fB%lt\fR
    + +unsigned latitude in DDMMSS format
    + +.TP
    + +\fB%lg\fR
    + +unsigned longitude in DDMMSS format
    + +.TP
    + +\fB%-t\fR \fB%-g\fR
    + +optionally signed latitude and longitude in DDMMSS format +.TP
    + +\fB%+t\fR \fB%+g\fR
    + +explicitely signed latitude and longitude in DDMMSS format +.TP
    + +\fB%lG %lT %-G %-T %+G %+T\fR
    + +same as above, but in decimal fractions of degree +.TP
    + +\fB%dl %dg\fR
    + +direction indicator - letters N and S for latitude and E and W for +longitude (or some other national language values as defined in fgis.rc +file).
    + +.RE
    + + +

    If \fIformatString\fR omitted, default «%lt%dt %lg%dg» is used.

    + +

    +.TP 8
    + +\fIprojName\fB dump\fR
    + +returns argumets for projection command used to create this projection +object.
    + +.TP 8
    + +\fIprojName\fB delete\fR
    + +destroys projection object. +

    +.SH «SEE ALSO" +

    +.BR proj «(1), « pj_init «(3), « transform (1) +

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/raster.n.html b/geography/fGIS/man/raster.n.html new file mode 100644 index 0000000..ad48a97 --- /dev/null +++ b/geography/fGIS/man/raster.n.html @@ -0,0 +1,417 @@ + + + + + +raster(n) manual page + + +Table of Contents

    +

    + +

    NAME

    +raster - Create and manipulate raster object

    + +

    SYNOPSIS

    + raster +filename ?options ?

    + +

    DESCRIPTION

    +

    +This command allows to create raster +objects. Raster objects are more low-level concept than fGIS layers . They +directly correspond to raster files in EPPL7 format. Their values are always +unsigned short integer. They even make cell size visible to user. This +command returns name of raster object which is used for manipulating this +object. By default it requires existing raster file without reclass table. +

    + Raster files are objects which holds information of certain integer +spatial variable in given rectangular area. Value is stored with certain +granulariry. Minimal square, which can be addressed as separate unit, is +named cell. Of course, you can specify coordinates with any precision, +but while they are in same cell, same value would be returned. Moreover, +when you edit raster, you can change values only on per cell basis.

    + Raster +file is always rectangular, but spatial variable can be defined on any +arbitrary area. So, special value is reserved for "undefined" areas of +raster. It is named offsite value. Typically you can read raster it any +coordinates, but if no information is provided for this area, offsite +would be returned.

    + There are certain limitation on raster files - file +cannot contain more than 32767 cells per row or per column. Possible values +of raster should be in range 0-65535. Rows and columns of cells can be numbered +starting from any integer, provided that no row or column in file has +number out of range -32767- 32767. fGIS, however never relies on column numbers. +They are supported only for compatibility with EPPL7.

    + Raster objects +differs from raster files in the way that they include reclass table . +This allows to store information about several spatial variables in one +file, provided that total count of value combination doesn't exceed raster +file limit. Reclass table defines correspondence between file classes (values) +and values, returned by raster object. It can be defined by two ways - using +special syntax like in EPPL7 RECLASS command (see RECLASS SYNTAX below) +or using Tcl list, each element of which is pair of values, first base, +then reclassed.

    + When raster objects are accessed or created via GIS operations, +user may not be aware about underlying raster file level. But when objects +are created by interative editing, certain properties of raster (i.e. cell +size) should be specified.

    + Raster objects behave like other fGIS objects +- layers, legends, palettes etc. Once object is created, new Tcl command +with same name is created. This command is used to access and modify rasters. +

    + +

    OPTIONS

    + +
    + +
    -reclass statements
    +
    -specifies reclass table for created raster +object. statements is string, containing set of reclass statements. See +RECLASS SYNTAX below for details
    + +
    -table list
    +
    -specifies reclass table +in form of Tcl list. Each element of this list should be list of two integers, +first of them representing value in raster file, and second - representing +value which would be value of new raster object.
    + +
    -new
    +
    - specifies that +new raster file should be created instead of opening old. This option should +be specified immediately after file name and followed by several other +options, defining properties of new raster. All subsequent options are +applicable only if -new is specified.
    + +
    -like rasterObject
    +
    - specifies that +all important properties should be copied from existing raster object. +
    + +
    -width integer
    +
    - specifies how many cells should appear in each row. Cannot +be used together with -like
    + +
    -heightinteger
    +
    - specifies how many cells +should be in each column.
    + +
    -offsiteinteger
    +
    - specifies which value would +be used as "no data" value. Default is 65535 for 16-bit files and 255 for +8-bit. Value -1 can be specified for 8-bit files. It means that all classes +are onsite. For 16-bit files it is equivalent to 65535.
    + +
    -8bit - specifies +that only one byte should be used for storing
    +
    values of raster. This limits +value range to 0-255, slightly decreases file size (usially much less than +two times) and makes file compatible with EPPL7 ver. 2.1.
    + +
    -limits{x1 y1 x2 +y2}
    +
    - Allows to specify list of four double values, determinig map coordinates +of file.
    + +
    -cell value - specifies size of cell. In conjunction with -limits +
    +
    it gives more convinient way to create new raster, becouse limits defines + area of interest and cell size - accuracy of map.
    +
    +

    + +

    OBJECT COMMAND

    +raster + command creates new Tcl command with same name as raster object, which +can be used to manipulate this object.

    + rasterName boxvalue x1 y1 x2 y2 + - fills rectangular region with given value. Raster should be opened in +read-write mode (either by -new option of object command or by load object +command). Returns list of four double values, specifying region actually +affected by command. (Can be less that specified region, if it exceeds +raster boundary). Value is class of base raster file, not reclassed value. +

    + +

    + +
    rasterName bpp - returns size of data in this raster file
    +
    (8 for 8-bit +and 16 for 16 bit rasters).
    + +
    rasterName cache ?new size ?
    +
    - controls size +of cache. If raster file is accessed from disk (default read only mode) +setting sufficient cache can improve performance of operations, which +require nonsequentual access, like transect .
    + +
    rasterName cell ?-area ? +
    +
    - returns parameters of cell. By default, returns cell width in map coordinates, +which should be meters, and with -area flag returns cell area in current +units (see unit object command).
    + +
    rasterName celllimit
    +
    - returns list +of four intergers, representig start and end numbers of cells in order +first column , last row , last column, first row . (Why this order? X direction +of cell numbers is same as of coordinates (usially), and Y coodinates +usially go from bottom to top, while cells - from top to bottom. So, order +of values is same as order of values in limits object command.
    + +
    rasterName +classes value
    +
    - returns list of base file classes which are mapped to +specified value of this raster object.
    + +
    rasterName circle value x y radius + ?-cells ?
    +
    - fills circulare region in read-write raster with given value. +If -cells ,flag is given, radius is assumed to be in raster cells. Otherwise +it is assumed to be in coordinate units. Returns list of coordinates, specifying +actualy affected region.
    + +
    rasterName col x
    +
    - returns cell number corresponding +to given X coordinate. Returns error, if coordinate is out of file boundaries. +
    + +
    rasterName comment ?string ?
    +
    - returns (or modifies) comment, stored +in file header. Comment length is limited by 32 symbols.
    + +
    rasterName count + ?options ?
    +
    - performs various area-calculating operation General formats +folows:
    + +
    rasterName count ?-- ? varname ?region specification ?
    +
    fills +dynamic array varname indexed by raster classes by areas of these classes +in given region.
    + +
    rasterName count -classes list ?region specification +?
    +
    returns area of given classes within given region.
    +
    +

    + Region specification +defaults to whole file. Other possible formats are: +

    + +
    -box x1 y1 x2 y2 +
    +
    - within given rectangular area
    + +
    -polygon x y x y ...
    +
    - within polygon, given +by set of coordinate pairs
    + +
    -radius distance x y ...
    +
    within given distance +of any of given points.
    + +
    -mask rasterObject list
    +
    in areas where value of +another rasterObject is in given list.
    +
    +

    + +

    + +
    rasterName delete
    +
    - destroys raster +object. If raster was in readwrite mode, all unsaved changes are lost.
    + +
    rasterName +extents value
    +
    - returns list of four coordinates, within those all values +of given class are contained.
    + +
    rasterName filename
    +
    - returns name of file, +corresponding to this raster object.
    + +
    rasterName fill value x y ?-stop ? +value
    +
    - fills area, starting with given coordinates with value. By default, +stops on encounter of any value other than in given point. If -stop option +is specified, stops only when encountering given value. Returns list of +coordinates, specifying actually affected region.
    + +
    rasterName frame value + x1 y1 x2 y2 ?-width cells ?
    +
    - a rectangle with given value, not changing +inside area. By default this rectangle is 1 cell wide.
    + +
    rasterName get x +y ?-base ?
    +
    Returns value of raster in given point. By default returns +reclassed value, but if -base is specified, returns class of raster file. +
    + +
    rasterName limits
    +
    Returns list of four doubles, specifying physical +limits of raster file, in order XLeft , YBottom , XRight , YTop .
    + +
    rasterName +line value x y x y .... ?-width cells ?
    +
    draws a line with given value. By +default one-cell wide. Returns boundaries of region affected.
    + +
    rasterName +load
    +
    Loads raster file into memory, changing it from readonly to readwrite +mode, and enabling all editing operation. (-new option of raster command +performs load implicitely).
    + +
    rasterName max
    +
    -returns maximal value of +raster object.
    + +
    rasterName min
    +
    - returns minimal value of raster object. +
    + +
    rasterName offsite ?value ?
    +
    - returns offsite value for raster object, +or modifies it.
    + +
    rasterName polygon value x y x y ...
    +
    - fills given polygon +of given value. Returns boundaries of region affected.
    + +
    rasterName put value +x y
    +
    Changes value of individual cell. Returns nothing.
    + +
    rasterName reclass + ?option ? ?arg ?
    +
    - manipulates reclass table. Without any options, returns +reclass table as Tcl list.
    + +
    rasterName reclass -statements
    +
    option returns +reclass table in form of reclass statements. (see RECLASS SYNTAX below). +
    + +
    rasterName reclass -table list
    +
    modifies current reclass using given Tcl +list. Values for classes given in this list would be changed as specified, +all other remains unchanged.
    + +
    rasterName reclass statements
    +
    modifies reclass +using specified reclass statements. As -table options, applies statements +to base classes and leaves all nonspecified classes as is.
    + +
    rasterName reclass +-clear
    +
    clears all changes in reclass table and makes reclassed classes +equial to base classes.
    + +
    rasterName row y
    +
    return cell number, correspondign +to given Y coordinate. Raises error, if coodinnate is outside file limits. +
    + +
    rasterName save ?options ?
    +
    - saves raster file. By default, if raster +is in readwrite mode, saves changes to current filename.
    + +
    rasterName save +-as filename
    +
    - saves raster, open for editing into other file, and makes +this file current file of this raster object.
    + +
    -backup
    +
    option can be specified +for both save and save -as commands. It makes raster object to keep old +version of file with suffix .bak appended to name.
    + +
    rasterName save -to filename + ?-8bit ?
    +
    allows to write raster object into raster file. Reclass table +is applied to this operation, so new file would have base classes like +classes of raster object, rather than classes of its base file.
    +
    +

    + If -8bit + switch is specified, resulting raster will be forced to 8-bit by discarding +high-order byte, even if max value or offsite are outside 0-255 range. (in +latter case offsite would be set to 65535). +

    + +
    rasterName shift dx dy
    +
    changes +origin of cell (row/column) numbers. This is required for certain command +of DOS version of EPPL7, although fGIS always uses map (alternative) coordinates) +
    + +
    rasterName transect ?-count varname ? x y x y ...
    +
    by default, return list +consisting of pairs {value width} along the given line. If -count is specified, +fills dynamic array varname , indexed by classes, by total widthes of +given value along this line.
    + +
    rasterName unused
    +
    returns value which is +never encountered in this raster.
    + +
    rasterName unit ?new-unit ?
    +
    - returns +(or changes) area unit of this raster Unit can be one of following: undefined +,ft .m ,km ,mile ,ha ,acre . All subsequent count operations would return +result in given units. Note: map coordinates are always in meters.
    + +
    rasterName +xleft ?new value ?
    +
    - returns (or modifies) left boundary coordinate.Note: + it simply modifies value, without appropriate changes in other limits +or cell area value.
    + +
    rasterName xright ?new value ?
    +
    - returns (or modifies) +right boundary coordinate.
    + +
    rasterName ybottom ?new value ?
    +
    - returns +(or modifies) bottom boundary coordinate.
    + +
    rasterName ytop ?new value +?
    +
    - returns (or modifies) left boundary coordinate.
    +
    + +

    RECLASS SYNTAX

    +

    + Syntax +of reclass syntax is inherited from EPPL7. General form of reclass statement +is line, terminated by newline (Note: trailing newline is obligatory), +which consist of new value and list of old (base) values. New value separated +from list by equal sign. List of old values can contain individual values +and ranges, which are two values, separated by colon.

    + +

    + +
    Example
    +
    1=1:10 +20
    +
    +

    +means, that all values from one to ten and value 20 should be reclassed +into 1.

    + Set of statements can contain arbitrary number of lines, same +value can occur on left side of several lines. If some value occur on right +side more than once, last occurence have precedence.

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/reclass1.1.html b/geography/fGIS/man/reclass1.1.html new file mode 100644 index 0000000..2fb13f4 --- /dev/null +++ b/geography/fGIS/man/reclass1.1.html @@ -0,0 +1,103 @@ + + + + + +RECLASS(1) manual page + + +Table of Contents

    +reclass1 - Change classes of given EPPL7 data file +

    SYNOPSIS

    +reclass1 [ + ] [ reclass_file] [ -o output_file] file +

    DESCRIPTION

    +Applies given set +of reclass statements to epp file. Reclass statements have simular syntax +to DOS version of EPPL7 and may be read from stdin (both from terminal +or pipe) and from file.

    +By default, creates file named reclass.out.epp in +current directory, but this behavoir can be overriden by -o option.

    +This +version can perform only one-way reclass. For multy-file reclass use intable(1) + +instead.

    +Output file is created as 16-bit and if after reclass it would +contain only classes less than 255, it would be converted into 8-bit.

    +If +offsite value of old file appears in right side of any reclass statement, +offsite value of new file would be from left side of this statement.

    +

    + +

    + +

    OPTIONS

    + +
    + +
    --help
    +
    - display brief usage message and exit successifully
    + +
    --version +
    +
    - display version information and exit successifully
    + +
    -v
    +
    - verbose. Display +number of rows processed during reclass.
    + +
    -f reclass_file
    +
    - read reclass +statements from given file, instead of stdin
    + +
    -o output_file
    +
    - write result +into given file, instead of reclass.out.epp. Suffix .epp would be substituted, +if absent.
    +
    +

    + +

    RECLASS STATEMENT SYNTAX

    +

    + Set of reclass statements consists +of zero or more lines, each of which has following structure:

    +new_class += list of old classes

    +

    + New class is number in range 0-65535. List of old +classes is space separated list of classes (numbers) and ranges. Range +is two numbers, separated by colon. First of them must be less then second, +or this range would have no effect.

    +If one old class occurs in several +statements, only last occurence would take effect, so it is possible to +write:

    +1=1:255

    +2=2

    +3=12

    +to reclass all classes between 1 and 255, exept +2 and 12 to 1 and reclass 12 to 3.

    + +

    SEE ALSO

    +eheader(1) +,cluster(1) +,rescale(1) +,outtab(1) +,intable(1) + +

    + +

    AUTHOR

    +

    + Victor B. Wagner, SoftWeyr.

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/man/window.1.html b/geography/fGIS/man/window.1.html new file mode 100644 index 0000000..1505421 --- /dev/null +++ b/geography/fGIS/man/window.1.html @@ -0,0 +1,74 @@ + + + + + +WINDOW(1) manual page + + +Table of Contents

    + +

    NAME

    +window - cuts a portion of epp file +

    SYNOPSIS

    +window [-a%] [-o output_file] + input_file fr lr fc lc +

    DESCRIPTION

    +

    + Window creates new epp-file with +given limits. If new limits exceeds limits of old file, this areas would +be filled by offsite value.

    +By default limits are given in rows/columns, +but with -a option you may use alternate coordinates.

    +Output file would +always be properly aligned with input. +

    OPTIONS

    + +
    + +
    --help
    +
    displays brief usage +information.
    + +
    --version
    +
    displays version number
    + +
    -%
    +
    Displays percentage of +processed lines in file.
    + +
    -o file
    +
    gives the name for output file. Defaults +to window.out.epp
    + +
    -a
    +
    specifies that limits are given in alternate coordinates. +
    +
    + +

    SEE ALSO

    +mosaic(1) +,eheader(1) +

    + +

    AUTHOR

    +

    + Victor B. Wagner <vitus@agropc.msk.su> +

    + +

    BUGS

    +

    + ???

    + +


    +Table of Contents

    +

    + diff --git a/geography/fGIS/tclext.html b/geography/fGIS/tclext.html new file mode 100644 index 0000000..c57d8dc --- /dev/null +++ b/geography/fGIS/tclext.html @@ -0,0 +1,185 @@ + + +fGIS Tcl extension + + + +

    fGIS Tcl extension

    + +
      +
    1. Data objects +
    2. Layers +
    3. Regions +
    4. Planchets - map visualisation +
    5. Layer visualisation modes +
    6. External program interface +
    7. Database connectivity +
    8. Tools and bricks +
    + + +fGIS Tcl extnesion consists of two parts: +
      +
    1. one that allows GIS data manipulation within Tcl script +
    2. one that allows to view maps in Tk interface. +
    +In future version they would be separated into different Tcl packages, +thus allowing to use non-Tk part for processing data without graphical +interface. +

    +

    Data objects

    +
    +
    raster +
    An object which represents raster file in Tcl script. Allows + to access data by coordinates, access metadata, stored in raster file + itself, edit raster, and even performs some, relatively simple, + analysis. +

    + raster object is combination of raster file and reclass table, + thus you can create many raster objects with different semantics from + one raster file thus saving disk space and other system resources. +

    vector +
    The same thing for vector maps (not written yet) +
    palette +
    Object which handles color table +
    patterns +
    Handles set of patterns used to visualize maps +
    legend +
    Stores table of corespondence between raster object classes and +semantic (string) values +
    projection +
    stores projection information and converts coordinates from lat/long +to X/Y and vice versa. It is based on Projection library by + Gerald Ian Evenden +
    + +

    Layers

    + +Layer Tcl representation of functional map +concept. This is an object, which can return you semantic information +for given coordinate, or draw itself as chartographic representation of +information it keeps. +

    +There are lot of different layer types which are created from different +data sources. Classification looks like: +

      +
    1. raster layers +
      1. raster - static data, read from file with tabular legend +
      2. dem - static data with values calculated from file classes by + mathematical function +
      3. chart - dynamic data obtained from database query +
      +
    2. vector layers +
      + Needs further investigation +
      +
    3. point layers +
        +
      1. tag - set of points with arbitrary values, plots itself as labeled + signs +
      2. diagram - set of points with vector of numeric values each, +plotted as bar or pie chart +
      3. observation - set of points which get values from database query +
      +
    + +Layer object have some methods and properties, but usially end-user +should operate with layer as whole, passing its name to high-level +library procedures, rather than invoking its individual method. Even +visualisation of layer is handled by "asking plachet (mapping +window) to show particular layer" as opposed to "asking layer +to show itself in particular planchet". + +

    Regions

    + +Region is collection of map, which cover same territory and have same +projection, but may differ in spatial resolution. region tcl object exist, becouse there +are some properties of region itself - projection and division into +subregions. It is high level object, which intended to be manipulited +by end-user rather than application programmer, like layer. + +

    Planchets - map visualisation

    + +Map visualisation in f(GIS) is handled via special Tk widget, called +planchet. Planchet is much like Tk +canvas and supports all operation of canvas (Actually, it is derived +from canvas). In addition, it has real-world coordinates, and knows its +current scale. It also keeps track of layers currently displayed, which +allows it to handle panning and scaling. +

    +It also have "look +feature" which allows it to return values some list of layers (not +neccessary ones currently displayed). By default it displays this +list in pop-up window upon right mouse click. +

    +Planchet also knows if +it has geographical projection defined. If so, it is able to display +current latitude/longitude of mouse pointer. Otherwise it just shows +real-world coordinates. +

    +To simplify designing of user-interfaces we've introduced a notion of +helper widgets. It means that planchet keeps track of several +widgets (status line, legend box, zoom/unzoom buttons) and updates +their states according to its own state changes. These widgets are not +part of planchet and their placement in application GUI is left to +application designer. +

    Additional attributes of planchet are scale ruler and +geographic grid, which can be shown or hidden at any time. + +

    Layer visualisation modes

    + +f(GIS) supports various layer visualisation modes. +Raster layers can be drawn in opaque colors (which is traditional for +raster GIS), in patterns, and symbols. Both symbol and pattern view +are transparent and can be overlaid over other layers. They both use +same pattern set object to store information about pattern symbol +shapes. Difference between pattern and symbol mode is that in pattern +mode patterns can be clipped by polygon boundaries when in symbol mode +symbol is drown wholly if its central point belong to corresponding +class or not drawn at all, and never would be drawn partially. + + +

    External program interface

    + +Most GIS operations in f(GIS) are implemented as +external utilities, which allows to execute them in parallel with +main GUI applications. But there should be easy way to invoke them from +GUI as well as from Tcl prompt. So, Tcl library provides helper +procedures which allows to construct high-level commands, which invokes utility, +translating high-level concepts as layers and region to lower-level +concepts, which are understood by utilities, and displays its progress +in separate window. + +

    Database connectivity

    + +It has been said already, that f(GIS) doesn't even try to implement +home-grown database management system. Instead, it uses various +RDBMS +connectivity extensions, available for Tcl. Unfortunately these +extensions don't have so unified interface as provided by DBI package +for Perl language. So, it was neccessary to develop additional +abstraction layer TclDBI which allows to write +database-related parts of f(GIS) without regard to particular RDBMS +server behind it. + +

    Tools and bricks

    + +Being a large and complicated Tcl application, f(GIS) uses a lot of +general purpose procedures, widgets and other reusable pieces of code. +In difference with commercial applications, all this tools are open +and usable for application developer and even end user. Most notable of +them include: + + diff --git a/geography/fGIS/topology.html b/geography/fGIS/topology.html new file mode 100644 index 0000000..a0a6fee --- /dev/null +++ b/geography/fGIS/topology.html @@ -0,0 +1,128 @@ + + + + Creating topology from raster + + + + +[f(GIS) home] +[EPU] +
    +

    Creating topology from raster and vice versa

    +
      +
    1. Generation of polygon labels +
    2. Generation of vector topology from raster +
    3. Rasterizing polygon coverages +
    + + +

    Generation of polygon labels

    +EPU border command should have option to generate +polygon labels along with polygon boundaries. +

    +This would allow to import polygon maps into vector-based systems like +Arc/Info and also have some additional applications like plotting barchart +and piecharts on the map. +

    +Currently both EPPL7 and Arc/Info are able to generate polygon labels +given raster map (EPPL7) or correct set of polygon boundaries (ARC/Info). +But their algorithms both have shortcomings. EPPL7 always and Arc/Info in case +of polygon with complex shape put label point too close to polygon boundary. +

    +While it can be bearable if sole purpose of this label point is to identify +polygon in vector topology map, it is not good for plotting charts other +possible applications of label points. +

    +So following algorithm is proposed: +

      +
    1. Generate unique numbers for polygons (EPU cluster command + already can do this) +
    2. Calculate distance of each raster cell to nearest polygon boundary + (combination of EPPL7 border(epp) and radius commands + can do this and + EPU thiessen command eventually would) + +
    3. Find out maximal distance from boundaries for each polygon + (outtable command) +
    4. Retrieve coordinates of any point with given distance and polygon + ID and use it as label point. (can be done with EPPL7 + intable and evaluate and is trivial thing if coded + in C. +
    + +Analysis of this algorithm shows that it can be performed using at most +two passes over raster, given that all intermediate structures are kept +in memory. +

    +First pass perform cluster and radius operations in parallel. +Write three intermediate rasters, two of which contain low and high half-words of uniquie polygon numbers and third - distance to boundaries. During +this pass table of maximal distance for each polygon should be accumulated. +

    +Second pass Find a point for each entry of polygon-distance table and +write its coordinates along with polygon ID. +

    + +

    Generation of vector topology from raster

    + +Vector topology as used by arc/info consist of following parts +
      +
    1. No arc in coverage should intersect each other +
    2. Each polygon should have exactly one label +
    3. Each arc should have atributes denoting left and right polygons. +
    4. Each point where arcs are joined (node) should have a record + which lists IDs of arcs joined in it. +
    +If we are building polygon coverage from file, generated via EPPL7 or EPU +border commands, constraints 1 and 2 are ensured by border algorithm. +If we are using algorithm described above, for label points, we have +enough information to assign left and right polygon IDs for any polyline +(arc), provided that polylines are generated on second pass of above algorithm. +

    +So, only thing we need is to create list of nodes. It is also much simplier +to do during raster scan, than processing vector file, becouse while we are +passing location of node, we have all lines joined here at hand, while in +the vector file they can be very far from each other, becouse lines which +starts at this node would be written to the file only when they would +end. +

    +The only thing which prevents me (and possible other authors of raster-based GIS) to export ready to use topology to ARC/Info instead of exporting GEN files +and requiring user to do time-consuming CLEAN or BUILD operation, is closeness of ARC/Info export format. +

    Rasterizing polygon coverages

    + +EPPL7 rasterize command operates on non-topological vector files. +Therefore it have to do three passes over file and often leave small +holes which have to be eliminated using fill command. But it works +very fast and have (especially in incarnation of EPU cluster command) +almost no limitation concerning raster size and polygon complexity. +

    +ARC/Info polygrid command produces raster without holes, but it works +very slowly (it seems that it scans entire vector file for each point of +generated raster. In PC Arc/Info 3.5 it also have some very restrictive size +limitation (5000x5000) and doesn't understand EPPL format correctly (doesn't +write coordinate information into header, doesn't support 16-bit rasters). +

    +But combining of these two algorithms can produce rasterization algorithm +which would be even faster than EPPL7 rasterize and work without holes. +

    +Idea is that while drawing lines from vector file in the raster (as EPPL +does on the first pass) we plot each line two-cell wide, giving left cell +value of left polygon and right cell value of right polygon. The only thing +left is to fill remaining parts of file by color of nearest non-offsite +point, which is guarantied to be same for all surrounding lines, due to +ARC/Info topology. +

    +This algorithm can be implemented without knowledge of ARC/Info propieritary +formats, becouse lines from coverage along with their unique IDs can +be legitimately exported into open GEN format, and arc attribute table, +which contains IDs of right and left polygons can be exported into RDBMS, +as well as polygon attribute table which contain information we really +want to plot. + + + + + + + + diff --git a/geography/index.html b/geography/index.html index fb28016..74eba44 100644 --- a/geography/index.html +++ b/geography/index.html @@ -6,6 +6,7 @@

    íÏÉ ÒÅÚÕÌØÔÁÔÙ × ÏÂÌÁÓÔÉ ÇÅÏÇÒÁÆÉÉ

    +