Haritanızın Performansını Nasıl Arttırabilirsiniz?

Haritanızın Performansını Nasıl Arttırabilirsiniz?

Hedef kitlemize ulaşırken yaptığımız haritaların güzelliği ve anlattıkları ne kadar önemliyse, bu haritaları hızlı bir şekilde sunmak da bir o kadar önemli. Haritamızla anlatmak istediklerimizin çokluğu bazen hızdan feragat etmemize sebep olabiliyor ama içinde bulunduğumuz çağda hız, kullanıcı tarafında haritalarımızın tüketiminde çok önemli rol oynuyor. Bunu eğitimlerimizde katılımcılarımızdan gelen sorulardan da anlayabiliyoruz. Esri Türkiye bünyesinde yaptığımız eğitimlerde gelen sorulardan biri genellikle “Haritalarımızı nasıl hızlandırırız?” oluyor. Bu blog yazımızda kendi bilgisayarınızda yalnızca kendi kullanımınız için bir harita hazırlayacak olsanız da harita servisi olarak geniş kullanıcı topluluklarıyla paylaşacak olsanız da haritalarınızın performansını arttırabilecek püf noktalarına değineceğiz.

Haritalarınızı ister web’de paylaşın ister ArcGIS Desktop yazılımlarından birinde kullanın, görüntüleme işlemlerini hızlandırmak ve performansı arttırmak için uygulayabileceğiniz birçok teknik vardır. Daha hızlı görüntülenen bir harita, ArcGIS Desktop ortamında yapacağınız analizler için daha iyi bir kaynak oluştururken, ArcGIS Server üzerinden paylaştığınızda ise kullanıcılara daha iyi bir görüntüleme ve analiz deneyimi yaşatacaktır.

Performansı iyileştirmenin birçok yöntemi vardır ama bu yöntemlerin hepsi tek bir temel stratejiyi baz alır: bilgisayarınız çizimleri ekrana getirdiği sırada ne kadar az işlem kararı alırsa o kadar hızlı bir çizim yapar. Çoğu durumda sembolojide, data frame’de (veri çerçevesinde) veya harita katmanlarda yapacağınız birkaç küçük değişiklikle haritalarınızın görüntüleme hızının artmasında büyük fayda sağlayabilirsiniz.

Performans İçin Haritadaki Öğeleri Optimize Etme

Veri ayarlarınızı ve veriyi kullanma şeklinizi ArcGIS Desktop’ta performansı iyileştirmek için optimize edebilirsiniz. Veri kaynağının formatı da dahil olmak üzere birçok faktörün haritanızın hızında rolü vardır. Verinin konumu, katmanlar, veri çerçevesi ve harita çıktısındaki detayların ayarlarını değiştirerek çok büyük hız artışı sağlayabilirsiniz.

Verinizi hazırlamak

Veri formatını seçerken kullanıcı ihtiyacı, verinin kullanım amacı, boyutu, yapılacak analiz türleri veri bakım gereksinimleri gibi birçok faktör belirleyici olur. Bir haritanın en iyi performansta çalışması için verilerin uzaktaki bir makinede saklanması yerine, görüntüleyeceğiniz bilgisayarda bulunması hızı arttıracaktır.

Bununla birlikte çok büyük veri kümelerinden veri çekerek küçük alanların gösterimini yapacak haritalar için, verinin ArcSDE’den servis edilmesi, aynı veriyi dosyalara kaydetmeye kıyasla önemli performans avantajları sağlayacaktır.

Eğer haritanızı paylaşacaksanız ya da çoklu kullanıcı erişimine açacaksanız verinizi Personal Geodatabase’lerde (Kişisel coğrafi veri tabanlarında) saklamak doğru olmayacaktır.  Personal Geodatabase’ler bunun için tasarlanmamışlardır.

Veriyi hazırlarken dikkat edilmesi gereken birkaç ek husus:

  • Bütün projeksiyonları aynı yapmak: Data Frame’iniz ve altına eklediğiniz her katmanı mümkün olan her durumda aynı projeksiyon sistemine çevirmeniz veri düzenlerken ve paylaşıma hazırlarken çok önemlidir. Bütün katmanlar aynı projeksiyonda olduğu zaman sürekli olan on-the-fly projeksiyon hesaplamasına ihtiyaç kalmayacaktır. Bu durum ciddi bir performans artışına sebep olur.
  • Join ve Relate’le çalışmak: Verinize Join ya da Relate’le eklediğiniz sütunlarla semboloji, etiketleme, sorgu ve daha birçok işlem yapabilirsiniz. Ancak Join ve Relate’le veri eklemek performansınızı yavaşlatabilir. Bu yavaşlamadan kaçınmak için püf noktalarına buradan ulaşabilirsiniz.
  • Öznitelik ya da Mekânsal indeksleri kullanmak: Eğer veri kaynağınız izin veriyorsa sorgulamada ya da gösterimde kullandığınız sütunlarınızı indeksleyin. İndeksler her veri formatı için farklıdır. Shapefile’lar için buradan ve Geodatabase’ler (Coğrafi Veri Tabanları) için de buradan daha fazla bilgiye sahip olabilirsiniz. Bunlara ek olarak Geoprocessing çatısı verinizdeki öznitelikleri indekslemeniz için bir araca sahiptir, bu araç hakkındaki bilgiye de bu bağlantıdan ulaşabilirsiniz: Add_Attribute_Index.
  • Veriyi Basitleştirmek: Verinizin basitleştirilmiş ya da genelleştirilmiş versiyonlarını kullanmak da ciddi performans artışına sebep olur. Eğer küçük ölçekte gösterim yapacaksanız verinizin genelleştirilmiş veya basitleştirilmiş bir sürümüyle çalışırsanız zaten görünmeyecek olan detaylar için yazılımın hesaplama yapmasına gerek kalmayacaktır. Örneğin, Dünya kıyı şeritlerinin çok detaylı bir haritası tam ölçekte gösterildiğinde yavaş çalışacaktır, verteksleri azaltarak verinizi sadeleştirirseniz, sorgu ve tanılama yeteneklerinin performansının arttığını göreceksiniz.

Katmanları, Rasterları ve Çıktı Düzenlerini Optimize Etmek

Aslında performans artışı ve hız için yapabileceğiniz en kolay ve hızlı yöntem, gereksiz katmanları ve veri çerçevelerini (Data Frame) haritanızdan kaldırmaktır. Haritanın amacına hizmet etmeyen veri çerçevelerini ve katmanları kaldırmak, çıktı düzeninizdeki gereksiz harita öğelerini kaldırmak ciddi bir performans artışı sağlayabilir.

Bütün bunları yaptıktan sonra daha ileri bir performans artışı isterseniz aşağıdaki ek hususlara da bakabilirsiniz.

  • Belirli katman ve detayları otomatik olarak gizleyerek performansı artırmak: Katman gösteriminde performansı arttırmanın en iyi iki yoldan biri detayları sadece göstermenin uygun olduğu ölçek aralığında göstermektir ve diğeri ise özniteliklerden tanım sorgusu oluşturarak her detayın gösterilmesinden kaçınmaktır.
  • Eğer belirli bir ölçekte haritanızdaki bir katmanın görünmesine ihtiyacınız yoksa, o katman için ölçek bağımlılığını açarak, sadece belirlediğiniz ölçek değerlerinde görüntülenmesini sağlayabilir bu sayede performansı arttırabilirsiniz. Bu konuda bilgiye buradan ulaşabilirsiniz,
  • Tanım sorgusu yaparak haritanızdaki verinin miktarını kısıtlayabilirsiniz. Bir sorgu oluşturarak sadece dikkat çekmek ve gösterimini yapmak istediğiniz verilerin gösterilmesini sağlayabilirsiniz. Nasıl yapıldığını öğrenmek için buraya bakabilirsiniz,
  • Semboloji ve performans ilişkisi hakkında bilgi için buraya bakabilirsiniz,
  • Gösterim performansını optimize etmek için altlık haritaları kullanmak hakkında buradan bilgi alabilirsiniz,
  • Haritanızdaki verileri bilgisayarınız önbelleğine kaydedilmesini sağlamak: ArcMap detay önbelleklemesi haritadaki detayları geçici olarak bilgisayarınızın belleğine alarak veriye daha hızlı ulaşılmasını sağlar. Bu işlemin etiketleme, düzenleme, detay seçimi, birden çok katmanda kullanılan aynı detayın daha hızlı çağrılması gibi birçok işleme faydası vardır. Bu konuda daha fazla bilgi için buradan faydalanabilirsiniz,
  • Rasterları hızlandırmak için ise birden çok teknik kullanabilirsiniz. Görüntü kalitesini mümkün olduğunca düşük tutmak, doğru yeniden örnekleme yöntemini kullanmak ve raster’ı on-the-fly projeksiyon yerine kendi projeksiyonunda göstermek gibi yöntemleri kullanabilirsiniz. Bunların yanında piramitleme’de etkin bir performans arttırıcı yöntemdir. Raster’ları hızlandırmanın çeşitli yöntemlerini buradan inceleyebilirsiniz,
  • Çıktı düzenini ayarlarken veri çerçevelerinizin kenarlarını yuvarlak hatlı olması, arkaplan renklendirmeniz, çerçevelere gölge vermeniz gibi görselleştirme özellikleri performansı yavaşlatacaktır. Bu özellikleri veri çerçevesine sağ tıklayarak Properties (Özellikler), Frame (Çerçeve) yolundan ayarlayabilirsiniz.

ArcGIS Server ile Servis Edilecek Haritaları Optimize Etmek

Yukarıdaki haritaları optimize etme yöntemleri ArcGIS Server’la servis edilecek haritalarda da işe yarar. Bu yöntemlere ek olarak bu bağlantı altındaki yöntemlerden de yararlanabilirsiniz. Haritayı servis etmeden önce hedef kitleye göre tasarlayarak, gerekmeyen hiçbir öğeyi ve katmanı eklemeyerek baştan performans düşüşlerinin önüne geçebilirsiniz. Amaçlanan uygulama için gerekmeyen her veri çerçevesini kaldırıp, varsayılan olarak sadece birkaç katmanın gösterilmesini sağlayarak hızı arttırabilirsiniz. Kullanıcılar ihtiyaçları olan katmanları kendileri açıp kapatarak performansı kendileri belirleyebilir.

Önbelleklenmiş harita servisi kullanmak her zaman harita servisi sunmanın en hızlı yoludur. Çünkü harita önbelleği oluşturulduğunda görüntüleme de oluşturulur. Ama bu yöntem pek de dinamik değildir ve sürekli veri değişikliklerine uygun bir yöntem değildir. Önbelleklenmiş harita servisi kullanmak işinize uygun olmadığı zamanlarda bu blog yazısındaki diğer yöntemler performans artışı için çok işinize yarayacaktır.

Performansı haritalar oluşturmak için burada değindiğimiz ve daha birçok yöntem için ArcGIS 1 & 2 CBS’ye Giriş & Temel Uygulamalar eğitimimize katılabilirsiniz.

Esri Türkiye 2019

ArcGIS Server Bileşenleri

ArcGIS Server Bileşenleri

ArcGIS Server Bileşenleri

ArcGIS Server; Coğrafi Bilgi Sistemleri (CBS) ile ilgili işlemlerinizi; her zaman, her yerden ve herhangi bir cihaz üzerinden kolaylıkla gerçekleştirebilmeniz için size bir takım kolaylıklar sunan sunucu tabanlı bir ESRI yazılımıdır. ArcGIS for Server; CBS altyapınızı ve mekânsal verilerinizi; dilerseniz kuruluşunuzdaki kişilerle, dilerseniz herkese açık bir biçimde web teknolojilerini kullanarak paylaşmanıza ve bu veriler üzerinde ortaklaşa çalışmanıza olanak sağlamaktadır.

Hızla ilerleyen teknolojik gelişmelere paralel olarak sürekli kendisini şekillendiren coğrafi bilgi sistemleri, önceleri genellikle kişisel bilgisayarlar üzerinde ve kısıtlı şartlarda çalışmanıza olanak sağlarken, günümüzde kullanıcılarına daha geniş bir çalışma ortamı sunmaktadır. ArcGIS Server’ın kullandığı Internet ve Web tabanlı teknolojiler sayesinde gerek mekansal gerekse zamansal engelleri kaldırarak dilediğiniz zaman coğrafi bilgi sistemleriyle ilişkili çalışmalarınızı cep telefonunuzdan bile gerçekleştirebilirsiniz.

Teknolojik anlamdaki bu gelişmeler doğrultusunda sadece CBS uzmanları değil, artık herkes bir CBS kullanıcısı olabilir. Bu konuda ileri seviye bir eğitime ihtiyaç duymadan, kolay kullanılabilir hazır uygulamalar sayesinde, aklınıza gelen her alandan birçok insan coğrafi bilgi sistemlerinin avantajlarından istifade edebilmektedir.

Tüm bu kolaylıkların ardında bulunan teknolojinin, ArcGIS for Server tarafından oluşturulan ve çalışan bir ArcGIS Server Sitesi olduğunu söyleyebiliriz. Bu noktada böyle bir teknolojiyi kullanmak için öncelikle ArcGIS Server sitesinin arka planında hangi unsurların olduğunu ve bu yapıyı oluşturan bileşenlerin neler olduğunun anlaşılması, planladığınız CBS çalışmaları ve projeler için gerekli altyapıyı oluşturmadan önce, nasıl bir sistem mimarisi inşa edeceğiniz konusunda sizlere büyük kolaylık sağlayacaktır.

Bir ArcGIS Sitesi, işlem gücünü arttırmak amacıyla opsiyonel olarak birkaç farklı makineye dağıtılmış bileşenlerden oluşan bir bütündür. Site içerisinde görev yapan her bir bileşen kendisine verilen görev dahilinde çalışmaktadır. Sisteminizdeki Web Sunucusu, Veri Sunucusu, GIS Sunucusu gibi bileşenler, ArcGIS Server sitesini oluşturan ana bileşenlerdir. Bu bileşenlerin neler olduğunu ve sitenizde ne gibi görevler gerçekleştirdiklerini kısaca inceleyelim.

GIS Server: GIS servisleri ile ilişkili işlemleri yerine getirir. Bir GIS sunucusu, haritaların çizime dönüştürülmesi (render), analiz araçlarının çalıştırılması, görüntü servislerinin sunulması, veritabanlarının sekronizasyonu, veriler üzerinde arama yapılması gibi ArcGIS tarafından sunulan çeşitli işlemleri yerine getirir.

Sitenizdeki ArcGIS for Server yüklü olan makine veya makineleri GIS Server olarak düşünebilirsiniz. Web haritaları, geoprocessing, geocoding gibi işlemler için kullanıcılarınızın istemci yazılımlarından gelen web servisi istekleri sitenizin içindeki uygun olan GIS sunucularına atanabilir. Sonrasında bu GIS sunucuları, haritaların çizime dönüştürülmesi, koordinatların tespit edilmesi, coğrafi işlem araçlarının çalıştırılması, analiz işlemlerinin gerçekleştirilmesi gibi görevleri tamamlayarak sonuç haritalarını istemcilere döndürürler.

Web Sunucusu (Web Server): Tahmin edebileceğiniz gibi, bir web sunucusu, web uygulamalarınıza ev sahipliği yapar. ArcGIS Server üzerinde yayınlamış olduğunuz GIS servislerinizi, web teknolojilerini kullanarak diğer kişilerle paylaşmanıza olanak tanır. Ayrıca ArcGIS Server sitenize güvenlik ve yük dengeleme (load balancing) gibi ileri düzey avantajlar da sağlamaktadır. ArcGIS for Server; Internet Information Service (IIS), WebSphere, WebLogic gibi bir çok popüler web sunucusu ile uyumlu çalışacak bir yapıdadır.

Web Adaptor: Temelde web sunucunuza ulaşan istekleri ilgili GIS sunucunuza yönlendiren bir web uygulamasıdır. ArcGIS Server’ınızı, kuruluşunuzun Web Sunucusu ile entegre ederek, istemcilerden gelen çok çeşitli istekleri, ilgili olan GIS sunucularına yönlendirebilirsiniz. Ayrıca sitenize ekleyip çıkardığınız GIS sunucusu makinelerin takibini yaparak, gelen istekleri buna uygun şekilde yönlendirebilir. Eğer sitenizdeki GIS sunuculardan birisi ulaşılamaz halde ise, ArcGIS Web Adaptor o sunucuya yapılan istekleri durdurur. Bunlara ek olarak ArcGIS Web Adaptor, Web Sunucunuzun güvenlik yeteneklerini güçlendirerek, ArcGIS Server’ınızın yönetimsel kısımlarına dışardan erişimi engelleyebilirsiniz.

Veri Sunucusu (Data Server): Yayınladığınız GIS servisinizin kaynak verilerini; sitenizde görev yapan her bir GIS sunucusuna ayrı ayrı kopyalayabileceğiniz gibi dilerseniz tüm GIS sunucularınızın bu verilere merkezi bir konumdan erişmesini de sağlayabilirsiniz. GIS sunucularınıza kaynak verileriniz için erişim iznini, ihtiyaçlarınız doğrultusunda iki farklı şekilde tanımlayabilirsiniz. Dilerseniz veri kaynağı olarak sunucularınıza ağ paylaşımı olan bir klasör tanımlayarak dosya tabanlı bir coğrafi veri tabanı (File Geodatabase), dilerseniz de daha karmaşık bir yapıya sahip olan çeşitli veritabanı yazılımları (PostgreSQL, Oracle, SQL Server vb.) ile kurumsal coğrafi veri tabanı (Enterprise Geodatabase) kullanabilirsiniz. Kullanacağınız veri kaynağı ne olursa olsun, GIS sunucularınızın bu kaynağa erişebilecek bir şekilde yapılandırılması, GIS servislerinizin sağlıklı bir şekilde çalışması için yeterli olacaktır.

Kaynaklar

Components of ArcGIS for Server

Inside an ArcGIS Server site