Difference between revisions of "HBUMNMapServer ger"

From OSGeo
Jump to navigation Jump to search
Line 22: Line 22:
 
1.4 Migration<br>
 
1.4 Migration<br>
 
1.5 Danksagung<br>
 
1.5 Danksagung<br>
 +
<br>
 
'''2 [[HBUMNMapServer_ger_Capter_2 | MapFile]]<br>'''
 
'''2 [[HBUMNMapServer_ger_Capter_2 | MapFile]]<br>'''
 
2.1 Bedeutung des Mapfiles<br>
 
2.1 Bedeutung des Mapfiles<br>
Line 84: Line 85:
 
2.23.1 Parameter einschr¨ anken .<br>
 
2.23.1 Parameter einschr¨ anken .<br>
 
2.23.2 Variablensubstitution <br>
 
2.23.2 Variablensubstitution <br>
 +
<br>
 
'''3 [[HBUMNMapServer_ger_Capter_3 | OGC-Konformitätt ]]'''<br>
 
'''3 [[HBUMNMapServer_ger_Capter_3 | OGC-Konformitätt ]]'''<br>
 
3.1 Warum macht man das? <br>
 
3.1 Warum macht man das? <br>
Line 105: Line 107:
 
3.4.1 Das Context-Dokument <br>
 
3.4.1 Das Context-Dokument <br>
 
3.4.2 Den Kontext verwenden <br>
 
3.4.2 Den Kontext verwenden <br>
 +
<br>
 
'''4 [[HBUMNMapServer_ger_Capter_4 | Datenbankanbindungen]] <br>'''
 
'''4 [[HBUMNMapServer_ger_Capter_4 | Datenbankanbindungen]] <br>'''
 
4.1 PostgreSQL und PostGIS .<br>
 
4.1 PostgreSQL und PostGIS .<br>
Line 112: Line 115:
 
'''4.1.3 PgRouting (Kai Behncke, Florian Thuerkow)''' <br>
 
'''4.1.3 PgRouting (Kai Behncke, Florian Thuerkow)''' <br>
 
'''4.1.4 Ein paar Worte zu MySQL, Oracle (Spatial) etc.''' <br>
 
'''4.1.4 Ein paar Worte zu MySQL, Oracle (Spatial) etc.''' <br>
 +
<br>
 
'''5 [[HBUMNMapServer_ger_Capter_5 | Demos]] <br>'''
 
'''5 [[HBUMNMapServer_ger_Capter_5 | Demos]] <br>'''
 
5.1 Itasca <br>
 
5.1 Itasca <br>
 
5.2 GMap <br>
 
5.2 GMap <br>
 +
<br>
 
'''6 [[HBUMNMapServer_ger_Capter_6 | MapScript]]<br>'''
 
'''6 [[HBUMNMapServer_ger_Capter_6 | MapScript]]<br>'''
 
6.1 PHP MapScript '''(Nicol Hermann)''' <br>
 
6.1 PHP MapScript '''(Nicol Hermann)''' <br>
Line 153: Line 158:
 
6.2.3 Python <br>
 
6.2.3 Python <br>
 
'''6.2.3 Mapserver goes Web 2.0 - AJAX mit msCross (Florian Thuerkow)''' <br>
 
'''6.2.3 Mapserver goes Web 2.0 - AJAX mit msCross (Florian Thuerkow)''' <br>
 +
<br>
 
'''7 [[HBUMNMapServer_ger_Capter_7 | Zusätzliche Werkzeuge]] <br>'''
 
'''7 [[HBUMNMapServer_ger_Capter_7 | Zusätzliche Werkzeuge]] <br>'''
 
7.1 Werkzeuge der Bibliothek Shapelib <br>
 
7.1 Werkzeuge der Bibliothek Shapelib <br>
Line 169: Line 175:
 
'''7.3.3 ogrinfo''' <br>
 
'''7.3.3 ogrinfo''' <br>
 
'''7.3.4 FWTools''' <br>
 
'''7.3.4 FWTools''' <br>
 +
<br>
 
II Anhang <br>
 
II Anhang <br>
 
'''A [[HBUMNMapServer_ger_Capter_Referenz | Referenz]] <br>'''
 
'''A [[HBUMNMapServer_ger_Capter_Referenz | Referenz]] <br>'''
Line 209: Line 216:
 
A.5.2 CGI-Modus .<br>
 
A.5.2 CGI-Modus .<br>
 
A.5.3 Parameter für Java-Applets <br>
 
A.5.3 Parameter für Java-Applets <br>
 +
<br>
 
'''B [[HBUMNMapServer_ger_Capter_Bezug | Bezug und Installation]] ''' (Nur als Kapitel im Anhang?, finde ich zu wenig, nh)'''<br>'''
 
'''B [[HBUMNMapServer_ger_Capter_Bezug | Bezug und Installation]] ''' (Nur als Kapitel im Anhang?, finde ich zu wenig, nh)'''<br>'''
 
B.1 Bezug <br>
 
B.1 Bezug <br>
Line 238: Line 246:
 
B.5.1 Binaries . . <br>
 
B.5.1 Binaries . . <br>
 
B.5.2 Aus den Quellen <br>
 
B.5.2 Aus den Quellen <br>
 +
<br>
 
'''C [[HBUMNMapServer_ger_Capter_Migration | Migration]] 239'''
 
'''C [[HBUMNMapServer_ger_Capter_Migration | Migration]] 239'''
 
C.1 Von Version 3.6 nach Version 4.0<br>
 
C.1 Von Version 3.6 nach Version 4.0<br>
Line 246: Line 255:
 
C.1.4 Diverse Probleme<br>
 
C.1.4 Diverse Probleme<br>
 
C.1.5 MapScript <br>
 
C.1.5 MapScript <br>
 +
<br>
 
'''D [[HBUMNMapServer_ger_Capter_Sicherheit | Sicherheit]]<br>'''
 
'''D [[HBUMNMapServer_ger_Capter_Sicherheit | Sicherheit]]<br>'''
 
D.1 Komprommittierung des MapServer-Rechners <br>
 
D.1 Komprommittierung des MapServer-Rechners <br>
Line 252: Line 262:
 
D.4 MapScript-Anwendungen<br>
 
D.4 MapScript-Anwendungen<br>
 
D.5 Die Clientseite: Active Scripting <br>
 
D.5 Die Clientseite: Active Scripting <br>
 +
<br>
 
'''E [[HBUMNMapServer_ger_Capter_Performance | Tips zur Performance]] <br>'''
 
'''E [[HBUMNMapServer_ger_Capter_Performance | Tips zur Performance]] <br>'''
 
E.1 Vermeiden Sie unnötige Funktionalität<br>
 
E.1 Vermeiden Sie unnötige Funktionalität<br>
Line 262: Line 273:
 
E.7 Hardware <br>
 
E.7 Hardware <br>
 
E.8 Schließlich: Zeigen Sie nie alles auf einmal<br>
 
E.8 Schließlich: Zeigen Sie nie alles auf einmal<br>
 +
<br>
 
'''F [[HBUMNMapServer_ger_Capter_Formate | Unterstützte Formate]]<br>'''
 
'''F [[HBUMNMapServer_ger_Capter_Formate | Unterstützte Formate]]<br>'''
 
F.1 Lesbare Formate<br>
 
F.1 Lesbare Formate<br>
Line 271: Line 283:
 
F.2 Schreibbare Formate <br>
 
F.2 Schreibbare Formate <br>
 
F.3 Nicht unterstützte Formate<br>
 
F.3 Nicht unterstützte Formate<br>
 +
<br>
 
'''G [[HBUMNMapServer_ger_Capter_Internet | MapServer im Internet]]<br>'''
 
'''G [[HBUMNMapServer_ger_Capter_Internet | MapServer im Internet]]<br>'''
 
G.1 Website <br>
 
G.1 Website <br>
Line 278: Line 291:
 
G.3 Beispielseiten <br>
 
G.3 Beispielseiten <br>
 
G.3.1 Capabilities XML <br>
 
G.3.1 Capabilities XML <br>
 +
<br>
 
'''H [[HBUMNMapServer_ger_Capter_Lizenz | Lizenz der Software]] <br>'''
 
'''H [[HBUMNMapServer_ger_Capter_Lizenz | Lizenz der Software]] <br>'''
 
H.1 Die Lizenz aus der Datei README <br>
 
H.1 Die Lizenz aus der Datei README <br>

Revision as of 13:48, 13 July 2008

Links


Inhaltsverzeichnis des 'neuen' Handbuchs

- Änderungen bitte unter das jeweilige Thema fett schreiben und auch in den verlinkten Seiten nachführen
- Zuständigkeiten / Autoren im besten Fall mit angeben

1 Einführung
1.1 Aufbau dieses Buches
1.2 Was ist ein Mapserver?
1.2.1 Vorteile des UMN MapServer
1.3 Die verschiedenen Funktionsweisen
1.3.1 MapServer als CGI
1.3.2 MapServer OGC-konform
1.3.3 MapScript
1.3.4 ChangeLog
1.4 Migration
1.5 Danksagung

2 MapFile
2.1 Bedeutung des Mapfiles
2.1.1 MapServer als CGI
2.1.2 Die Modi
2.1.3 Die weiteren Parameter
2.2 Grundlegender Aufbau des Mapfiles
2.3 Der Header
2.4 Die Web-Sektion
2.5 Layer
2.5.1 Gruppierungen von Layern
2.5.2 Weitere Layer-Optionen
2.5.3 Diagramme (Kai Behncke? / Nicol Hermann)
2.6 Classes
2.7 Styles
2.8 Rasterdaten
2.8.1 Bildkataloge
2.8.2 Rasterdaten klassifizieren
2.8.3 Umprojizieren von Rasterdaten
2.8.4 Rasterdaten mit GDAL
2.9 Vektordaten
2.9.1 Indizes für Shapefiles
2.9.2 Graticule-Layer
2.10 Projektionen
2.10.1 Notation
2.10.2 Orthographische Projektion
2.10.3 Projektionen im realen Einsatz
2.11 Schriften
2.12 Annotationen
2.12.1 Die Label-Sektion
2.12.2 Bitmap-Schriften
2.12.3 TrueType-Schriften
2.12.4 Beschriftungen ohne Annotationslayer
2.12.5 Der Label-Cache
2.12.6 Hinweise
2.13 Symbole
2.13.1 TrueType-Symbole
2.13.2 Pixmap-Symbole
2.13.3 Overlay-Symbole
2.13.4 Beispiele
2.14 Maßstäbe
2.15 Legenden
2.15.1 Die klassische MapServer-Legende
2.15.2 HTML-Legenden
2.15.3 GetLegendGraphics Request ( evtl. auch bei WMS 3.2)
2.16 Templates
2.16.1 Die verschiedenen Arten von Templates
2.16.2 Aufbau
2.17 Metadaten
2.18 Queries
2.18.1 Notation
2.18.2 Query maps
2.18.3 Weitere Arten von Queries
2.19 PostgreSQL und PostGIS
2.20 OGR
2.21 Spezifikation von Ausgabeformaten
2.21.1 Rasterbilder
2.21.2 Vektorformate
2.22 Features
2.22.1 Fix positionierte Elemente .
2.23 CGI-Parameter
2.23.1 Parameter einschr¨ anken .
2.23.2 Variablensubstitution

3 OGC-Konformitätt
3.1 Warum macht man das?
3.2 Web Mappping Server (WMS)
3.2.1 Servermodi .
3.2.2 Der aufrufende URL
3.2.3 WMS-Metadaten im Mapfile .
3.2.4 Exceptions
3.2.5 getFeatureInfo
3.2.6 WMS Clients
3.2.7 Exceptions
3.2.8 Styled Layer Descriptor (SLD)
3.2.9 Hinweise
3.3 Web Feature Server (WFS)
3.3.1 WFS Server
3.3.2 Projektionen in WFS-Servern
3.3.3 Schemas
3.3.4 Aufruf & Capabilities
3.3.5 WFS Client
3.4 Map Context
3.4.1 Das Context-Dokument
3.4.2 Den Kontext verwenden

4 Datenbankanbindungen
4.1 PostgreSQL und PostGIS .
4.1.1 Shapefiles in PostGIS laden
4.1.2 Notation in Layern
4.1.3 PostGIS außerhalb des MapServers
4.1.3 PgRouting (Kai Behncke, Florian Thuerkow)
4.1.4 Ein paar Worte zu MySQL, Oracle (Spatial) etc.

5 Demos
5.1 Itasca
5.2 GMap

6 MapScript
6.1 PHP MapScript (Nicol Hermann)
6.1.1 Laden des Moduls
6.1.2 Setzen von Objekt-Eigenschaften .
6.1.3 Formulareingaben in PHP verarbeiten
6.1.4 Die mapObj-Klasse
6.1.5 Fehlerbehandlung
6.1.6 Die layerObj-Klasse
6.1.7 Die classObj-Klasse
6.1.7.1 Dynamische Klassifizierungen
6.1.8 Die imageObj-Klasse
6.1.9 Die labelObj-Klasse
6.1.10 Die webObj-Klasse
6.1.11 Die referenceMapObj-Klasse
6.1.12 Die colorObj-Klasse
6.1.13 Die pointObj-Klasse
6.1.14 Die lineObj-Klasse
6.1.15 Die projectionObj-Klasse
6.1.16 Die shapefileObj-Klasse
6.1.16.1 Dynamisches Erzeugen eines Shape-Files
6.1.17 Die SymbolObj-Klasse
6.1.17.1 Dynamisches Erzeugung von Symbol-Objekten
6.1.18 Die ShapeObj Klasse
6.1.18.1 Feature-Anlage (Punkt-, Linien, Polygon-Objekte)
6.1.18.2 Geometrie-Verarbeibung mit PHP MapScript
6.1.19 Struktur von PHP MapScript-Seiten
6.1.20 Speichern von Map-Objekten in PHP-Sessions
6.1.21 Speicherverwaltung mit MapScript
6.1.22 OGC Konformität mit PHP MapScript
6.1.22.1 PHP Mapscript als WxS-Server
6.1.22.2 Erzeugen und Laden von SLD-Dokumenten
6.1.22.3 Erzeugen und Laden von WMS Map Context Dokumenten
6.1.23 Nutzung von PHP Mapscript ohne MapFile
6.2 Weitere Sprachen
6.2.1 Perl
6.2.2 Java
6.2.3 Python
6.2.3 Mapserver goes Web 2.0 - AJAX mit msCross (Florian Thuerkow)

7 Zusätzliche Werkzeuge
7.1 Werkzeuge der Bibliothek Shapelib
7.1.1 shpdump
7.1.2 shpcreate, shpadd, dbfcreate und dbfadd
7.1.3 dbfdump
7.1.4 shpinfo
7.1.5 dbfinfo
7.2 Werkzeuge des MapServers
7.2.1 shp2img
7.2.2 shptree
7.2.3 shptreevis
7.3 Werkzeuge der GDAL/OGR-Bibliothek
7.3.1 gdaltindex
7.3.2 gdalinfo
7.3.3 ogrinfo
7.3.4 FWTools

II Anhang
A Referenz
A.1 Limits
A.2 Organisation der Daten
A.3 Änderungen
A.3.1 3.6 nach 4.0
A.3.2 3.5 nach 3.6
A.4 PHP MapScript
A.4.1 Konstanten
A.4.2 Allgemeine Funktionen
A.4.3 mapObj
A.4.4 layerObj .
A.4.5 classObj
A.4.6 styleObj
A.4.7 imageObj
A.4.8 labelObj
A.4.9 labelCacheObj .
A.4.10 webObj
A.4.11 referenceMapObj
A.4.12 colorObj
A.4.13 pointObj
A.4.14 lineObj
A.4.15 rectObj
A.4.16 shapeObj
A.4.17 projectionObj
A.4.18 shapefileObj
A.4.19 resultCacheMemberObj
A.4.20 scalebarObj
A.4.21 legendObj
A.4.22 outputformatObj .
A.4.23 gridObj
A.4.24 errorObj
A.4.25 symbolObj
A.4.26 querymapObj
A.4.27 owsrequestObj
A.4.28 imageObj
A.5 CGI-Parameter
A.5.1 Normale Parameter .
A.5.2 CGI-Modus .
A.5.3 Parameter für Java-Applets

B Bezug und Installation (Nur als Kapitel im Anhang?, finde ich zu wenig, nh)
B.1 Bezug
B.1.1 Vorkompiliert
B.1.2 Quelltexte
B.1.3 Änderungen
B.1.4 CVS .
B.2 Installation von Binaries
B.2.1 Binaries für Windows
Nicht wirklich? Link zu ms4w!
B.2.2 Binaries für Linux . . .
Hinweis auf: FGS Installer
B.3 Die MapMedia MapServer Suite
B.4 Kompilieren der Quelltexte
mit Zusatzinformationen für besondere *Unixe
B.4.1 GD
B.4.2 Proj.4-Unterstüzung
B.4.3 EPPL7-Unterstützung
B.4.4 Funktionalit¨ at als WMS-Server
B.4.5 Funktionalit¨ at als WMS-Client
B.4.6 Funktionalit¨ at als WFS-Server
B.4.7 Funktionalit¨ at als WFS-Client
B.4.8 Unterstützung für PostGIS
B.4.9 GDAL und OGR
B.4.10 Unterstützung für PDF-Output
B.4.11 Unterstützung für Shockwave Flash
B.4.12 Kompilieren des MapServers
B.5 MapScript
B.5.1 Binaries . .
B.5.2 Aus den Quellen

C Migration 239 C.1 Von Version 3.6 nach Version 4.0
raus, Migration 4.x nach 5.x
C.1.1 Geänderte und neue Parameter
C.1.2 MapServer kompilieren
C.1.3 Queries
C.1.4 Diverse Probleme
C.1.5 MapScript

D Sicherheit
D.1 Komprommittierung des MapServer-Rechners
D.2 Zugänglichkeit der Originaldaten
D.3 Verschleiern des Mapfilenamens
D.4 MapScript-Anwendungen
D.5 Die Clientseite: Active Scripting

E Tips zur Performance
E.1 Vermeiden Sie unnötige Funktionalität
E.2 Nutzen Sie MINSCALE und MAXSCALE
Kann raus - MINSCALEDENOM und MAXSCALEDENOM
E.3 Legen Sie Indizes an
E.4 Kacheln Sie Ihre Daten
E.5 Kompression muß verstanden werden
E.6 Datenbankabfragen .
E.7 Hardware
E.8 Schließlich: Zeigen Sie nie alles auf einmal

F Unterstützte Formate
F.1 Lesbare Formate
F.1.1 GD
F.1.2 Räumliche Datenbanken
F.1.3 Rasterformate mit GDAL
F.1.4 Vektorformate mit OGR
F.1.5 ArcSDE (Florian Thuerkow)
F.2 Schreibbare Formate
F.3 Nicht unterstützte Formate

G MapServer im Internet
G.1 Website
G.2 Mailinglisten
G.2.1 Archiv
G.2.2 Wiki
G.3 Beispielseiten
G.3.1 Capabilities XML

H Lizenz der Software
H.1 Die Lizenz aus der Datei README
H.2 Erläuterungen

Inhaltsverzeichnis aus der internationalen Diskussion

Kurzes Update zum internationalen User Manual (09.04.2008). Jeff McKenna hat gestern ein PDF mit dem ersten Entwurf des Buches veröffentlicht. Der Entwurf umfasst 134 Seiten und ist unter der Adresse: http://download.osgeo.org/mapserver/docs/mapserver-users-manual.pdf (1MB) einsehbar.

Some comments:

- has gaping holes
- plan is to use SteveL's demo as part of the missing 'application' section
- most if not all examples in this doc were manually executed, and in many cases i've updated the associated existing website docs accordingly
- many more existing website docs will be ported into the Appendix




Hier die Zusammenfassung zum Thread 'Feedback required: plans for Downloadable Users Manual' auf der mapserver-dev Liste. Der Original-Thread findet sich unter: http://www.nabble.com/Feedback-required:-plans-for-Downloadable-Users-Manual-td16260533.html
Vorgeschlagen wurde zunächst folgende Struktur:

Table of Contents




Introduction
Getting Started
- Installing
- Architecture of MapServer
Preparing Data
- The .Map File
- Supported Formats
- Tips and Tricks
- Factors Affecting Performance
Building a MapServer Application
- Flavors
- Example Code
Community
- History of MapServer
- Project Steering Committee
- Contributing
- Getting Help
- Conferences/Workshops Glossary

Als inhaltliche Ergänzungen wurden dann noch folgende Punkte vorgeschlagen:

- client software (ka-map!, OpenLayers, GeoMoose, PMapper, etc.)
- map file management software (MapStorer, any others)
- including copies of all HOWTOs and references in the appendices?
- configuration of an application and data.
- include a complete production sample mapfile like Bob Basques Googlish mapfile