Son derece özelleştirilebilir CBS platformu mu arıyorsunuz? [kapalı]


9

ArcGIS (Masaüstü ve İş İstasyonu) kullanarak CBS'de eğitim aldım ve MapInfo ve uDig'de (çok) kısa gözlerle araştırdım. Bu süre zarfında, nispeten küçük veritabanları kullandığım ve çok fazla tekrarlama yapmadığım ve ArcGIS'in bilimsel verileri analiz etmek için çok sayıda harika aracı olduğu için programdan memnun kaldım.

İki yıldır mezuniyetten bu yana tamamen farklı bir ölçekte bir şirkette çalışıyorum. Ben nispeten "daha basit" görevleri yapmak, büyük veritabanları ile başa çıkmak, ancak üst üste onlar tekrarlayan görevleri oluşur (Ben bütün veritabanına haftada bir kez basit görevleri bir dizi yapmak). Bu süre zarfında, AutoCAD'i kullandık (verilerimizin çoğu AutoCAD kullanılarak çizildiğinden) ve çok takdir etmek için büyüdüm - En büyük avantajı, LISP Programlama dilini kullanarak ve sistem değişkenlerini kullanarak bir bütünü kontrol edebilmenizdir. ayarların çoğu - bir aracın varsayılan değerini özelleştirmek, programdaki iletişim kutularının kullanımını ortadan kaldırmak veya çizimlerin otomatik olarak açılması ve manipülasyonu için komut dosyası seçenekleri ile ilgili olup olmadığı.

Orada ücretsiz veya değil, bu yüksek düzeyde kişiselleştirmeye sahip herhangi bir CBS platformu var mı, yoksa hayal kırıklığına uğramış manuel çalışmaya mahkum muyum?

Komut dosyası seçenekleri boyunca iyi bir kullanıcı arayüzüne sahip platformları tercih ediyorum, ancak bu bir zorunluluk değil.


6
ArcGIS'te son derece yazılabilir ve otomatikleştirilebilen, kesinlikle olmayan ve aralarında bir dizi olan görevler vardır. Diğer tüm platformlar için Dito. Kaçınılmasını istediğiniz el emeği türlerine örnekler verebilirseniz, bazı özel yardımcı cevaplar olabilir.
matt wilkie

@PolyGeo, bunun düzenlenmesini istediğiniz 7 yaşında bir soru olduğunu biliyor musunuz?
Nicklas Avén

@ NicklasAvén Kesinlikle bunun düzenlenmesini talep etmiyorum. Sadece kapatılması için oy verdim, böylece bugün benzer bir soru için model olarak hareket etmeye uygun görülen bir soru olarak görülmüyor. Üzerinde bazı düzenlemeler yaptığımın böyle olduğunu düşündüğüm nedenlerden bazılarını ele almaya çalışıyorum. Bu tür eski soruların kapatılıp kapatılmayacağı meta.stackexchange.com/a/194117/215590
PolyGeo

Yanıtlar:


5

Pek çok yönden cevap verecek kadar tecrübeli değilim, ama ... İlk işlerimi Avenue'de ArcView 3.x yazısında CBS'de yaptım. Hızı ve olanakları gerçekten çok beğendim. O zaman ArcGIS'in başlamasını, doğru aracı aramasını ve sonra ihtiyacım olan aracı bulmayı sevmem, ArcInfo'ye ihtiyaç duyduğum sevinci hiç anlamadım.

Yeni aşkım PostGIS. Depolamak için bir veritabanından çok daha fazlasıdır. Yerleşik işlevsellik, şimdiye kadar kullandığım tüm işleme ve analizleri yapmayı mümkün kılıyor. Çoğu durumda Arc ürünlerinden çok daha hızlıdır.

Açık kaynak dünyasında her şey için tek bir çözüm elde edemezsiniz, ancak tüm ihtiyaçlarınızı karşılayan projeler ve yazılımlar vardır.

Dediğim gibi PostGIS'te işleme ve analiz yapıyorum. Ben sql-sorguları yeniden kullanmak için metin dosyalarında saklayabilirsiniz (diğer yazılım herhangi bir araç gibi ama çok daha şeffaf). Fonksiyonları plpgsql (özel bir PostgreSQL dili) Python, pLR, C ve daha birçok farklı dilde yazabilirsiniz.

Masaüstü CBS için çoğunlukla QGIS kullanıyorum. QGIS'in merkezinde olmayan şey uzantılardadır. Bu yeterli değilse, kendi uzantınızı Python'a yazabilirsiniz ve bence C ++)

Eğer uDig için alışkınsanız bu elbette bir alternatiftir.

Biraz web eşlemesi yapmak istiyorsanız MapServer'ı deneyebilirsiniz. Mapserver, bu yıl FOSS4G konferansında WMS hizmetinde büyük bir ölçüt kazandı. Esri bu yıl katılmak istemedi. Geçen yıl katılmak için kayıt yaptırmışlardı, ancak katılmamışlardı. Bu yıl kayıt bile etmediler.

GeoServer, web haritaları sunmak için başka bir alternatiftir. Çok kullanıcı dostudur ve birçok farklı format sunar. Ayrıca WFS-T'yi de kullanır, böylece harita verilerini düzenleyebilir ve düzenlemeleri sunucuya geri gönderebilirsiniz.

Hafif ve çok hızlı bir WFS-T sunucusu istiyorsanız Tiny-OWS'a bir göz atmalısınız

Liste, çok güçlü ve elbette özelleştirilebilir bir paket oluşturmak için birlikte uzun süre yetkin bir yazılım olabilir.

Yani daha özelleştirilebilir olabilir. Tüm kaynak kodlarına erişiminiz var. Ve Esri için yıllık ücret ödemeden tasarruf para için biraz ücretsiz alabilir ve programlama okuyabilir veya bir programcı kiralayabilirsiniz. Bir ArcGIS Server lisansı için bu projelerde çok fazla kodlama alacaksınız.


12

Sana katılmıyorum.

Bence ArcGIS yardım / forumlar / bloglar / vids / vs ArcGIS ürün yelpazesi ile neler başarabileceğinize dair büyük bir bakış açısı sunuyor.

Uzamsal verilerinizi değiştirmek için Python ile sınırlı değilsiniz. ArcObjects kütüphanesine erişmek için 931 ve 10'da VBA'yı kullanmaya devam edebilirsiniz ya da bir adım daha ileri gidebilir ve her türlü şeyi yapmak için .NET'i kullanabilirsiniz ve yine bu iyi belgelenmiştir.

Ayrıca ArcGIS Desktop için kısayolların harika olduğunu düşünüyorum ve gerekirse Özelleştir iletişim kutusuyla kendi kısayollarınızı oluşturabilirsiniz.

Kod yazmayı öğrenmek istemiyorsanız, sıkıcı görevleri / ortak iş akışlarını, özellikle coğrafi işlemlerle otomatikleştirmenin harika bir yolu olan ModelBuilder de var .

Önyargılıyım, ancak diğer ürünlerle ilgili deneyimim var.

Python'un kullanıcılara sunmak için kolay arayüzler sağlama gücünden yoksun olduğunu biliyorum, ancak bahsettiğim gibi, VBA / .NET ile kullanıcıların ihtiyaç duydukları şeyi yapmaları için özel bir arayüz vermek için içerik açısından zengin formlar oluşturabilirsiniz. yapmak.

  • .NET ile MXD'lere komut dosyası oluşturabilirsiniz (örn. MXD'lerin bir klasöründe dolaşın ve her bir MXD'yi açın, bazı şeyler yapın, ardından bir sonraki MXD'ye geçin
  • ArcObjects ile uzamsal verilerinizdeki varsayılan değerleri değiştirmek de mümkündür.

Programlama becerilerim iyi, ama hiçbir şekilde eğitimli bir programcıyla eşleşmiyorum (ama her geçen gün daha iyiye gidiyorum). Bu Python / VBA için geçerli. Ne yazık ki VBA (Microsoft sayesinde) hızla aşağıya iniyor gibi, sadece deneyimlerime göre, bir yandan basit ve diğer tarafta güçlü olduğu için utanç verici olduğunu söyleyebilirim. Ancak ESRI güncellemeleri yayınlıyor (10.1 VBA'yı desteklemeyeceğine dair söz ile), VBA kullanarak geliştirmeyi öğrenmek için zaman harcamak için herhangi bir gerekçe görmüyorum.
jonatr

Ve VB.net / ArcObjects için olduğu gibi. Ortalama GIS analisti (bazı programlama deneyimi olan ve temel VBA / Python'u yönetebilen) için değil, her zaman deneyimli olmak için hissettiğimi (sahip olduğum çok az C # deneyiminden) ifade etmeyi unuttum kararlı profesyonel programcılar. Bana öyle geliyor ki, VRI.net'i tercih edilen dil haline getirerek, ESRI küçük şeyleri kişiselleştirmek için kullanılan küçük şirketlerin ve analistlerin bir kısmından vazgeçiyor.
jonatr

VB.net ile ilgili temel sorun maalesef sıfırdan öğrenmek için zaman ayıramıyorum (Bu bir yıl süren bir kurs) ve alternatif olarak ArcGIS ile nasıl çalışılacağı hakkında herhangi bir çevrimiçi referans \ kitap bulamıyorum ve VB.net. Bildiğim kadarıyla, orada birkaç kod dışında bildiğim kadarıyla, ESRI'nin bu konuda herhangi bir kitabı yok (arcobjects'i tanımak gibi şeyler var ama c # için). Daha iyisini biliyorsanız lütfen paylaşın.
jonatr

2
Bu gis.stackexchange.com için iyi ve ayrı bir soru: "1. Symobolgy'yi her açtığımda ve ihtiyaç duyduğum renkleri ayarlamak için Dolgu Rengi penceresine gittiğimde CMYK'de açılıyor ve RGB'ye değiştirmem gerekiyor." Bu sorunu çözmenin programlı olmayan bir yolu olabilir.
Jay Cummins

1
re: yukarıda bahsedilen # 2 sorunuz. Bu sorun benim için pythonable gibi görünüyor, ama arcgis / python ile pek bir şey yapmıyorum, bu yüzden belki başka biri yorumlayacaktır. Bunu gis.stackexchange.com için başka bir soruya bölmeyi öneriyorum (cevaplarını bulmak için döngü, yakınlaştırma, dışa aktarma ihtiyacı olan gelecekteki, sinirli GIS analistleri için daha kolay hale getirecek).
Jay Cummins

4

"... İhtiyacım olan renkleri ayarlamak için Dolgu Rengi penceresi CMYK'de açılır ve RGB'ye Değiştirmem gerekir"

  1. Komik, bunu geçen hafta nasıl yapacağımı öğrendim.

    • ArcMap'i aç -> katman ekle -> renk paletine git
    • CYMK'yi RGB olarak değiştirin
    • Belgeyi, belge ve ayarlarınız altında (ESRI klasörünün altında) Normal.mxt dosyasına kaydedin
    • ArcMap'i kapatıp tekrar açın -> Bundan sonra her zaman varsayılan olarak RGB'ye ayarlanacaktır.
  2. DS Harita Kitabı sizin için bir çözüm olabilir mi? Veya v10, D ata Driven Pages ? Dediğim gibi, .NET / VBA komut dosyası bunu yapabilirdi, Python'da bir Python çözümü sağlamak için çok sıcak değilim

"arcobjects tanımak" ama c # için

Seninle bu konuda hemfikirim. ESRI'nin bunun farkında olduğunu biliyorum ama boru hattında bir şey olup olmadığından emin değilim. VBA'da arka planınız varsa bu bağlantı bir başlangıç ​​olarak yardımcı olabilir. GTK AO'nun hala geçerli bir okuma olduğunu ve öğrenilen derslerin hala .NET için geçerli olacağını iddia ediyorum (ve kitapta günde 1-2 saat @ bir hafta içinde alabilirsiniz).

VBA'nın büyük bir hayranıydım ...


Teşekkürler. Bu sabah GTKAO kopyamdan "tozları temizledim" ve en son okuduğumdan bu yana iyileşme zamanımın geri geldiğini anladım. Belki daha sonra VB.Net'e dalmak ve mücadele etmek için daha fazla temelim olacak.
jonatr

Sorunumun bir kısmı, Visual Studio'ya ihtiyacım olan şirket bilgisayar departmanını ikna etmek (GIS çok popüler değil - bizi geliştiriciler olarak görmüyorlar ve bu yüzden temel şeyler almak için savaşmalıyım). DS MapBook, bilgisayarlarla savaşmanın başka bir nedenidir ve bu yüzden şimdiye kadar Python ve VBA'ya odaklandım - yerleşikler ve bunlar üzerinde savaşmam gerekmiyor. Her neyse, CMYK / RGB konusundaki ipucu için teşekkürler, deneyeceğim.
jonatr

@jonatr - Visual Studio'nun ücretsiz bir sürümü var - Sanırım buna "Express" deniyor. Muhtemelen ihtiyacınız olan her şeyi yapacak. Profesyonel sürüm çoğunlukla profesyonel geliştiriciler için daha fazla araca sahiptir.

Kabul ediyorum, Visual Studio Express genellikle istediğinizi elde etmek için yeterince önemlidir. Onun def nasıl olsa öğrenmeye başlamak için iyi bir yer ve id de bu bağlantıyı tavsiye: msdn.microsoft.com/en-au/beginner/default.aspx
Simon

3

ArcGIS platformunda, manuel çalışmaya mahkum değilseniz, o zaman bazı programlama işleri yapmaya mahkumdur (bu tür şeylerden hoşlandığım için benim için kötü değil)!

Özel araçlara başvurmadan geodatabase'de varsayılan değerleri geçersiz kılmak için 9.3.x'te bir yol bilmiyorum. Yaptığım şey bu, özellikle de tekrarlayan düzenleme işlemleri kümesiyse.

ArcGIS 10'da, kullanıcı Özellik Şablonları oluşturabilir ve başlangıçta her şablon için varsayılan değerler ayarlayabilir , şablonlar bir özellik katmanının sembolleridir, ancak özellik şablonlarını gerektiği gibi kopyalayabilir / uzaktan / değiştirebilirsiniz ). ArcGIS 10'a geçmedim, ancak bu CBS editörlerimizin beklediği özelliklerden biri.

Hiç bir kısayolu kaldırmam gerekmedi, bu yüzden bunu ArcGIS'in herhangi bir sürümünde yapıp yapamayacağınızdan emin değilim. Onları kesinlikle ekleyebilirsiniz (hızlandırıcılar). Onları geçersiz kılabileceğinizden emin değilim; yapabiliyorsanız, hiçbir şey yapmayan bir kukla komutla bunları geçersiz kılmak mümkün olabilir.

Simon'un belirttiği gibi, ArcObjects / .NET'i kullanabilir ve birden fazla MXD üzerinde çalışabilirsiniz. MXD kırık veri bağlantıları veya çeşitli hizmet katmanlarından herhangi birini içerdiğinde ArcObjects'in çok seçici olduğunu görmeme rağmen. ArcGIS 10'da Python'da, Python'daki MXD'lere / LYR'lere karşı komut dosyası çalışmasına yardımcı olan arcpy.mapping yöntemine sahip olacaksınız. Hala biraz buggy, ama MXD'nizde ne olduğuna bağlı olarak sizin için işe yarayabilir.


Selam. Simon'a çok uzun bir cevap yazdığımda, yapıştırmak istemiyorum (yukarıda), ancak yorum yaparsanız (yorum yapacak bir şeyiniz varsa) memnun olurum. Yanıtınız için teşekkürler.
jonatr

3

ArcGIS'i gerçekten sevmeme rağmen, ArcInfo iş istasyonunda sağlanan izleme dosyaları oluşturma yeteneğinin masaüstünde oldukça eksik olduğunu itiraf etmeliyim. Birçoğu Excel'in makro kaydetme yeteneğini biliyor. Görünüşe göre ESRI benzer bir kabiliyete sahip olabilir - VBA emekli olduğunda 10.0'dan sonra bile. Örneğin, Neooffice python makrolarını kaydetme yeteneğine sahiptir .

ArcGIS Engine son derece özelleştirilebilir. Bir şeyi yapan ve iyi yapan küçük odaklı araçlar oluşturmanızı sağlar. Visual Studio için ücretsiz Express sürümü (?) De dahil olmak üzere, herhangi bir kodlama yapmadan küçük harita görüntüleyici uygulamaları oluşturmak için kullanılabilecek şablon projeleri içerir. Yine de, ArcGIS Engine'in tüm avantajlarından yararlanmak için bir .NET programlama dili öğrenmek için zaman harcamanız gerekir.


1
bir izleme dosyası kadar kesintisiz veya tam değildir, ancak Sonuçlar sekmesi , coğrafi olarak oluşturduğunuz işlemin geçmişini içerir; Model Oluşturucu'ya sürüklenip python snippet'lerine aktarılabilir. Bunu, veri kümeleri için bir tür geliştirilmiş meta veri geçmişi olarak kullanıyorum.
matt wilkie

Ayrıca burada xml dosyası olarak gp araçlarının bir geçmişi var% AppData% \ Roaming \ ESRI \ Desktop10.0 \ ArcToolbox \ History, xml dosyasının 10.1'de ele alınacak bazı sorunları var. ama sizin için ilginç bir seçenek olabilir.
gotchula

1

Bu, araç setinin veritabanını çalıştırmasını sağlamanın gerçekliğidir. GIS parçasıyla veya olmadan, raporlar oluşturabileceğiniz, güncellemeler oluşturabileceğiniz, haritalar yayınlayabileceğiniz vb. Verilerin araçtan kurtarılması, seçtiğiniz uygun bir aracı kullanma olanağı verecektir. Bu yüzden Açık Standartlarımız var. Oradan aklınızdaki amaca en iyi hizmet veren uygulamayı kullanabilirsiniz. Ben sadece bu sabah konuşma yaptım Sütunlarda verileri temsil ederseniz, bunu bir Excel Elektronik Tablosu yapmaz.

Başka bir cevaplayıcı Python'un sınırlamasını tartıştı, bu böyle değil. Büyük kütüphaneler nedeniyle diğer birçok dilden dolayı muhtemelen python ile yapabileceğiniz daha fazla şey vardır ve arayüzler o kadar da zor değildir. Kısıtlayıcı olan, ESRI'nin Python'u ArcGIS'e uygulamasıdır. İkisini karıştırmayın.


1

MapWindow'u ücretsiz bir alternatif olarak kontrol etmek isteyebilirsiniz .... Shapefiles vb. Okur, ancak C #'da nasıl programlanacağını bilmeniz gerekir. Ama sonra her şey üzerinde tam kontrole sahipsiniz ...

http://www.mapwindow.org/


Sorun önemsiz ve çok zaman alıcı olmayan C # 'da bilgi sahibi olmaktır. Ama teşekkürler, bunu aklımda tutacağım.
jonatr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.