GRASS on the Web
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 45 | |
Author | ||
License | CC Attribution - NoDerivatives 3.0 Germany: You are free to use, copy, distribute and transmit the work or content in unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/21762 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | |
Genre |
15
23
00:00
Execution unitProduct (business)Right anglePoint (geometry)InjektivitätGraph (mathematics)Object (grammar)Extension (kinesiology)Functional (mathematics)Cartesian coordinate systemView (database)Video gameMappingSoftware developerCalculationInformationType theoryOcean currentJava appletElectric generatorPower (physics)Client (computing)NeuroinformatikCombinational logicProgramming languageInternetworkingLinear regressionGroup actionGraphical user interfaceContent (media)Computer programmingFormal languageEuler anglesReal-time operating systemConfiguration spaceUser interfaceLevel (video gaming)State of matterWorld Wide Web ConsortiumGradientKey (cryptography)Presentation of a groupScripting languageDynamical systemDatabaseWell-formed formulaProjective planeDatabase normalizationPlotterTelecommunicationConjugacy classSocial classProcess (computing)Information securityForm (programming)AuthenticationResultantInteractive televisionWeb browserDependent and independent variablesServer (computing)Computer-generated imageryStrategy gameGrass (card game)Web 2.0Web serviceWebsite10 (number)Lecture/Conference
07:21
Multiplication signConcurrency (computer science)Game controllerData managementProper mapPoint (geometry)Cartesian coordinate systemFrequencyClient (computing)Content (media)Communications protocolOpen setJava appletRevision controlNumberOcean currentStrategy gameInternetworkingMathematical optimizationHybrid computerDirection (geometry)Interactive televisionPhysical lawMereologySoftware developerOperator (mathematics)Portable communications deviceFilm editingFormal languageParticle systemScripting languageTheoryNeuroinformatikCategory of beingCASE <Informatik>PressureComplex (psychology)Greatest elementLocal ringChannel capacityImplementationDesign by contractData conversionInequality (mathematics)Visualization (computer graphics)User interfaceLibrary (computing)Electric generatorDynamical systemUniform resource locatorRight angleCalculationCore dumpHeat transferComputing platformMassProcess (computing)IntranetGroup actionWeb serviceServer (computing)Power (physics)Insertion lossPairwise comparisonGraphical user interfaceRelational databaseOperating systemSoftwareElectronic data processingFile formatWorld Wide Web ConsortiumDisk read-and-write headModal logicGraph (mathematics)Utility softwareGraph (mathematics)
14:43
Special unitary groupLevel (video gaming)Graph (mathematics)Channel capacityCodeMiniDiscComputer programmingComputer fileAcoustic shadowPosition operatorGrass (card game)Endliche ModelltheorieModule (mathematics)Web applicationWorld Wide Web ConsortiumPoint (geometry)MappingPresentation of a groupSoftware testingRepresentation (politics)DemonServer (computing)FreewareAddress spaceCartesian coordinate systemEmailInformationSet (mathematics)Content (media)outputOperator (mathematics)Configuration spaceScripting language2 (number)Patch (Unix)Wireless LANArithmetic meanPhysical systemField (computer science)DistanceData conversionInformation securityInterpreter (computing)Auditory maskingSound effectTelecommunicationProduct (business)Function (mathematics)Visualization (computer graphics)Different (Kate Ryan album)CASE <Informatik>Queue (abstract data type)AngleElement (mathematics)Integrated development environmentResultantConnected spaceInternetworkingForm (programming)Interrupt <Informatik>Multiplication signProcess (computing)Web 2.0WordConnectivity (graph theory)Disk read-and-write headPeer-to-peerDirection (geometry)MereologyMedical imagingCondition numberGroup actionArmComa BerenicesCalculationTerm (mathematics)Annihilator (ring theory)Right angleComplex (psychology)Execution unitINTEGRALRule of inferenceBitPredictabilityRootHill differential equationLecture/Conference
22:04
World Wide Web ConsortiumComputer-generated imageryScalabilityInformation securityFile formatScripting languageVector spaceObservational studyWeb browserComputerUniverse (mathematics)Electric generatorPlotterInternetworkingMultiplication signSound effectEvoluteCASE <Informatik>NeuroinformatikMeeting/Interview
23:39
Cartesian coordinate systemInformation securityComputer programmingRaster graphicsGrass (card game)Web serviceParameter (computer programming)Physical systemSystem administratorExpert systemWorld Wide Web ConsortiumServer (computing)InternetworkingLevel (video gaming)PlotterError messageAuthenticationGraph (mathematics)Principal idealComputer architectureMeeting/Interview
25:23
Right angleCartesian coordinate systemCommunications protocolInformation securityWorld Wide Web ConsortiumMeeting/Interview
25:51
Server (computing)Key (cryptography)Information securityString (computer science)World Wide Web ConsortiumMultiplication signCartesian coordinate systemCategory of beingWave packetInternetworkingCondition numberLecture/Conference
26:33
Data managementSelf-organizationWorkstation <Musikinstrument>Lecture/Conference
Transcript: English(auto-generated)
00:03
So we have the last talk for today, and I ask Sigrid to come here and complete. Can you stay in 20 minutes? Can you keep the 20 minutes?
00:20
I hope, yes. Yes, please. Because 15 will be close. Yes, 15. I hope to get my 12 minutes. We can have questions. We can have a guest.
01:05
Thank you, Chairman. So I hope you're still awake to listen to the last presentation, the final light of this day, Graph on the Web. I will start to give you an overview of the four points
01:23
of my presentation, the subject of my presentation here. The second point will confirm the first question technique, the web interface, the two common techniques.
01:45
And the third point will be an example of interactive PHP requests with Graph. I will show you an example of this application with Graph. And the last point will be the discussion outlook about the presentation.
02:05
A state of the art. What is web mapping? Web mapping is the interactivity between the user and GIS that enables online requests of real-time computed spatial data
02:21
and secondly the generation of cartographic results. So it's a function of four points. Yes, web mapping has a function of updating of data and the second point is security and authentication of the user.
02:44
That is perhaps a problem, but it could be resolved. I will show it in the example I present. The third thing is the collection of user-filled forms because you want to make a request by web browser
03:02
and how to access the databases by this web mapping technique. There are three methods, three concepts actually. You can, such web mapping can be performed by static, dynamic and animated map concepts. So, if we have a look back to the mid-90s on the internet,
03:27
there were only a few websites available. Today you have tens of thousands of websites. These last ten years we have an enormous development on the web. Yes, but the most web mapping applications are limited
03:46
to a simple online map request, but, yes, of geospatial data by map generators or map browser services. So, I will come up to the objectives.
04:04
We want to create a method that exceeds these conventional requests, interactive request services, map browser services. So, the question is the aptitude of GRASS is a development tool for real-time map calculation.
04:23
The central question is to which extent is GRASS able to support web interfacing? Yes, there are two come browser scripting techniques, but, yes, linking GRASS to a map server,
04:44
GRASS interface application is important for access of geocoded data through a web browser. So, yes, the issues of the standard communication between a web server and GIF
05:02
are functions by programming interfaces, CGI, and we need an interface script that controls the web user interface. This interface could be written in any language, in any programming language.
05:20
The two main concepts which are existing are the server-sided and the client-sided concept. The server-sided was chosen for this application that functions with dynamic HTML scripts.
05:40
The client-side strategy I will also present uses Java applets. So, I will come up to the first one, the clever-side strategies with Java applets that functions that the work of some user request
06:01
is shifted from the server to the user computer. That could be an advantage, but also an disadvantage. I will come up later to this point. Also related with this method is an automatic download from capabilities to the client. I have presented here a little graphic that shows the function.
06:21
First, the client sends the request to the server, and the second point... Oh, I wanted to show you first the client-sided configuration, but it's perhaps not so important, so I'm quicker.
06:43
So, the CGI script is now the important point. The server processes the request and sends the information to the CGI script. The CGI script treats the request and puts it back to the server.
07:04
And finally, the response is sent back to the client. I will show this example later with the Quest application so it will be more clear. Yes, and the second point, the client can use his browser interface
07:23
to visualize the data he requested. So, yes, I was putting up here some advantages of server-sided concepts
07:40
in comparison to client-sided concepts. One interesting point for the server-sided concept, the advantage is that processing power of the client computer doesn't have to have high capacities.
08:02
Only low capacity is enough because the request is treated on the server side. Yes, the advantage, and from the client-sided concept, yes, you need a high capacity on your computer
08:21
because the Java applets are sent to the user computer and treated there directly. So, I think it would be a disadvantage because... Yes, OK, I put it at disadvantage. The next point is processing of large and complex data on a high capacity server.
08:43
And the advantage for the server-sided concept is that there is no web transfer necessary because the data are directly treated on the server. And on the client side, it's necessary to access the large and complex data as heads.
09:05
So, yes, third point, the check of client permissions is well implemented on the server side but less implemented on the client side. Fourth thing is the problem of compatibility of software versions.
09:24
This point is on the server side, not existent because data are treated on the server. So, it's a disadvantage for the client side because you always have perhaps another version on your computer
09:43
and you get some problems of incompatibility with the Java applets which are sent to your computer. So, the last point is the dynamic generation of diverse graphic formats is possible
10:01
and on the client side, dependent on Java library. So, there are also some disadvantages of the server-sided version. Yes, the client to server request is server dependent and the network capacity and internet traffic perhaps is also a problem on the server-sided concept
10:28
because it's highly dependent on the... If you have to transfer the data, you want to get from the server back to your computer but on the client side, you still have downloaded these data
10:45
and the data are directly treated on the user computer. The use of the client computer capacity is on the server side only important for the request and on the client side for data processing and request processing.
11:05
So, we used in this case for the interface scripting, the PHP protocol script which has the advantage that it is a simple language. This protocol uses a simple language.
11:23
It's quick and it sends replies on highly frequented servers. The third point is the portability is a given for many operation systems and the library for the development of portable graphic user interfaces is also vast.
11:52
You have access to many relational databases is the last advantage of this concept. The disadvantage is you have a performance loss with interactivity
12:05
of computationally intense GIS applications. So, the conclusion is there are some hybrid concepts between the server client, the server-sided and the client-sided concepts
12:21
which minimize the use of client resources and optimize in time the server client performance. The conclusion is the client-sided strategy is best for services for a small user group of users which are really familiar with GIS applications.
12:45
And I would say in an intranet the server-side strategy is better for applications for mass processing of mass data and in the meantime a high number of users.
13:01
So, the last concept I have chosen for the demonstration of my GIS application. Yes, there are some premises of this concept. The concept of platform independent was the first premise and uses an open TCP IP protocol that makes possible the transfer to the web.
13:31
We have to suppose a user with no skills in graph utilization and last point, this application is only exclusive for the use of text-based commands of graphs.
13:51
That was the four points. The design has some requirements. A proper management of concurrent requests
14:03
because there are, for example, server users which are starting in the meantime a request and the management of this has to be done. Another problem is the computing time because if you send a request normally you want to have a quick answer
14:21
and if you want to make, as I show here, not only a request of data which exists but a request of calculation of data, of data which are calculated with graphs, it could take much more time because calculation takes the time,
14:40
the transfer of the data also takes its time. So, two command set files are produced by the PHP interpreter. First, the graph command set file and in second point, the Unix command set with the initial graph activation.
15:03
Then we have to clean temporary files for not to have too much capacity, disk capacity occupied and at last, this technique is based on the map is calculated
15:21
and then sent by email to the user. That's the trick to overcome the time problem because you can't wait all time. You have perhaps some interruptions of the connection, internet connection and that was the solution to overpass this problem.
15:41
The NITA send command also has to be fixed in the Unix command set. The second point of the design is the execution of a cross daemon. A daemon is a program which permanently runs in the background and replies to requests only executing the files but not analyzing the content
16:07
and it makes a queue check of different command set files of the communication director with the effect that finally the oldest amongst them are removed and as I said, that is for the reason of economic disk space.
16:28
The third and last point is the security concerns. The user is not registering on the server
16:40
so it's with the consequence of the open public avoids this application and the inter-user protection system. The other problem is the web server as a patch
17:02
can't run a PHP script as a root, that's not possible but to solve this problem, we named user in a simple configuration file. The solution of this was that many privileges are given to all these daemons.
17:31
Protection of application by checking all input data for content of correct information is given by this.
17:40
And secondly, appropriate check of the email address has also to be done because some jokey person could for example make a command like I don't know, fake add xcom and then the Unix command removes RS
18:06
and so the consequence is that all files on the servers which are touched are deleted and to protect against this, the daemon has to be prepared for this.
18:23
So, for the example for the representation of a graph with web mapping was the module point sun mask, that's a module which calculates on elevation model the shadows.
18:42
And there are two ways to do it. This module is based on the sun position algorithm and as I said you have to put in a digital elevation model. You have to do in the first step to realize a request of a shadow map by the PHP code,
19:03
a program of this code. In the second step the definition of the graph commands are sun mask and for the output and postscript a PSMap and in the last point the program of a PHP script.
19:22
So, this is the request form and you have to put in the date and your mirror address and if you put the OK button you get for example this result of a shadow map. This is the example sparebrush region and the graph gives a GIS environment
19:44
and I put the date, I have chosen one date, I also put the center of the map and I got the output about a sun element and sun angle
20:00
but we're not interested in this case because we only wanted to have the visual output product of a map which was calculated by GRASS with the sun mask operator yes, on the request form, also program in PHP.
20:23
So, discussion and outlook, we come to the end. GRASS is really suitable for web interfacing because there is a possible conversion between GRASS script and the web-based application.
20:40
Geo-coded data of GRASS-based are reachable by distance. For example, if you are in the field, you make some field work and you want to request some special data by means of wireless portfolio and that could be the future. The second point is this template application demonstrates the flexibility of GRASS and PHP
21:03
and in third, yes, we have to do some operability tests with other GRASS GIS applications because to test larger data sets and to have perhaps a much more functional
21:24
and interesting application on the web. Yes, the mapping is limited with GRASS by the availability of free data. So, that's a little bit out of the problem for further testing.
21:41
Thank you for listening. Thank you for a colorful presentation. I think you will be the only pendant speaker.
22:04
What do you say? Okay, any questions? You talked about security concerns and I have to tell you a bad story
22:22
because I wanted to... I wrote a CGI script for using at the university of... I wrote a study and it wasn't able to use this script because of the restriction of the computer system.
22:46
They don't allow such scripts and I know many people, even in big firms, the situation is the same. So, I think you're happy if you can use such a solution
23:06
but I have a different suggestion. Wouldn't it be possible to use the new scalable vector format of a web consortium? Would that be an alternative way of producing that mapping?
23:28
Perhaps you know a new generation of internet browsers will support vector formats, scalable vector formats and perhaps that's another way.
23:43
I have to admit I didn't think over to this problem because this is an raster application and that couldn't be the same way.
24:08
Maybe I can try to answer that question. Any program you run as a web service, you will have security concerns. So, no matter how you design it, any program you run that the user can make
24:22
over the internet give parameters to will have to be made under security in mind and grass has not been made with security in mind. So, once you have a grass application running, you have to be careful that with the permissions this grass application has,
24:44
it cannot do any damage because it's not protected. It's not a security enhanced application to say so. But no matter how you design it, any system administrator will be careful to let you run anything on his system because any program might be damaging.
25:01
It's not a matter of the technical architecture. It's a principal problem. Okay. Let me comment that, well, we'll have other talks. There is a post outside regarding the problem of map server and web services.
25:22
So, maybe we can also proceed in these days and with other experts which are here. Thank you. I think that most of the problem of security with web is that HTTP is a stateless protocol.
25:42
And sometimes you see a CD application which makes a first check of access right and nothing more after. It's clear that you can easily intercept the string which is sent with the request
26:04
and that's why to implement properly security on a web application, we have to always transmit a key which is generated by the server and checked at each time as a general recommendation.
26:34
Okay. Let me thank again all the speakers of this last session for today
26:41
and from the organization management committee. See you tomorrow at 9 o'clock for the next day. Have a good night.