Tenho desenvolvido aplicações web de mapeamento para visualização de dados para vários departamentos do Condado de Cumberland usando a biblioteca JavaScript Leaflet. Todos esses aplicativos usaram o esquema padrão de projeção/telhamento WGS84 Web Mercator Auxiliary Sphere. Este é usado no Google Maps, ArcGIS Online e nos outros principais players de mapas web.<\/P>
E embora isso funcione muito bem, eu me perguntei se havia uma maneira de construir mapas web usando a projeção personalizada e o esquema de telhamento que usamos para nossos serviços de mapa em telhas. Acontece que sim - mas requer alguns plugins.<\/P>
O primeiro é o Proj4js, que 9 capaz de "transformar coordenadas de pontos de um sistema de coordenadas para outro, incluindo transformae7f5es de datum." <\/P>
O segundo e9 o Proj4Leaflet, que "torna possedvel usar projee7f5es e CRS ne3o incorporados no Leaflet." CRS significa Sistema de Refereancia de Coordenadas.<\/P>
Pensei em compartilhar o processo para usar servie7os REST da Esri com projee7f5es/esquemas de telhamento personalizados em um mapa web Leaflet. Vocea pode encontrar o exemplo no CodePen.<\/P>
Quando estava aprendendo a fazer isso, consultei o exemplo do site de documentae7e3o do Esri Leaflet. Usaremos o servie7o 2015 Existing Land Use do Condado de Cumberland para esta demonstrae7e3o.<\/P>
O servie7o usa a projee7e3o Pennsylvania State Plane South (ft), ou EPSG 2272 como tambe9m e9 conhecido. A refereancia espacial para seu servie7o REST da Esri pode ser encontrada na URL do endpoint do servie7o.<\/P>
Vocea pode obter as informae7es para sua proje7o especfica no site Spatial Reference. Aqui este um exemplo do que voca recebera deste site para construir o CRS personalizado para seu servico:<\/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>
Tambem precisamos de algumas informaes sobre o servico em si. Isso inclui a origem e a resolucão para cada nvel de zoom. Estas tambem podem ser encontradas na URL do endpoint do servico. Abaixo esta uma imagem mostrando onde essa informacão esta localizada:<\/P>
<\/P>
<\/P>
<\/P>
Aqui esta o trecho de cdigo para criar o CRS personalizado para o servi
cio Existing Land Use:<\/P>
<\/P>
<\/P>
var spcPACrs = new L.Proj.CRS(