Ich habe Web-Mapping-Anwendungen zur Datenvisualisierung für verschiedene Abteilungen des Cumberland County mit der Leaflet JavaScript-Bibliothek entwickelt. Alle diese Apps haben das standardmäßige WGS84 Web Mercator Auxiliary Sphere Projektions-/Kachel-Schema verwendet. Dies wird in Google Maps, ArcGIS Online und den anderen großen Web-Kartenanbietern verwendet.<\/P>
Und obwohl das gut funktioniert, fragte ich mich, ob es eine Möglichkeit gibt, Web-Karten mit der benutzerdefinierten Projektion und dem Kachel-Schema zu erstellen, die wir für unsere gekachelten Map Services verwenden. Es stellt sich heraus, dass es das gibt – aber es erfordert einige Plugins.<\/P>
Das erste ist Proj4js, das „Punktkoordinaten von einem Koordinatensystem in ein anderes transformiert, einschließlich Datumstransformationen.“ <\/P>
Das zweite ist Proj4Leaflet, das „es ermöglicht, Projektionen und CRS zu verwenden, die nicht in Leaflet eingebaut sind.“ CRS steht für Coordinate Reference System.<\/P>
Ich dachte, ich teile den Prozess zur Verwendung von Esri REST-Services mit benutzerdefinierten Projektionen/Kachel-Schemata in einer Leaflet-Webkarte. Das Beispiel finden Sie auf CodePen.<\/P>
Als ich lernte, wie man das macht, habe ich mich auf das Beispiel von der Esri Leaflet-Dokumentationsseite bezogen. Wir werden für diese Demo den Existing Land Use Service des Cumberland County von 2015 verwenden.<\/P>
Der Service verwendet die Pennsylvania State Plane South (ft) Projektion, auch bekannt als EPSG 2272. Die räumliche Referenz Ihres Esri REST-Services finden Sie an der Endpunkt-URL des Services.<\/P>
Sie können die Informationen für Ihre spezifische Projektion von der Spatial Reference-Website erhalten. Hier ist ein Beispiel dessen, was Sie von dieser Website erhalten, um das benutzerdefinierte CRS für Ihren Service zu konstruieren:<\/P>
+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs<\/BLOCKQUOTE>
Wir benötigen auch einige Informationen über den Service selbst. Dazu gehören der Ursprung und die Auflösung für jede Zoomstufe. Diese sind ebenfalls an der Endpunkt-URL des Services zu finden. Unten ist ein Bild, das zeigt, wo diese Informationen zu finden sind:<\/P>
<\/P>
<\/P>
<\/P>
Hier ist der Codeausschnitt zum Erstellen des benutzerdefinierten CRS für den Existing Land Use Service:<\/P>
<\/P>
<\/P>
var spcPACrs = new L.Proj.CRS(