Çizgi basit özellikleri topolojik ağa nasıl dönüştürülür?


12

Gdal / OGR kullanarak bir shp, kml veya PostGIS çizgi katmanını düğümler ve segmentler ağına dönüştürmenin bir yolu vardır, böylece networkx gibi paketlerde kullanılabilir mi?


2
Muhtemelen OGR ve NetworkX'in her ikisi de desteklediklerini söylerken, birincisi ikincisinin olduğu GMLanlamına gelir . Geography Markup LanguageGraph Modelling Language
fmark

Yanıtlar:



2

GDx tarafından desteklenen içe aktarılabilir grafik formatları ve formatları ağ listesinden bakıldığında, böyle bir dönüşümün mümkün olduğundan şüpheliyim.


bu berbat bir anlaşma. Peki o zaman ağ analizini nasıl yapabilirim?
dassouki

@dassouki - Açık kaynaklı bir proje başlat! Benim listemde, ama şu anda çok aşağı. Diğerleri de ilgiliyse, bu konuda işbirliği yapma fırsatı istiyorum.
fmark

@fmark zaten transpotools.com var
dassouki

@dassouki - Heyecan verici geliyor! Proje hangi aşamada? Ana sayfa diyor TranspoTools Will be here shortly. Google-kod deposunda herhangi bir kod var mı? Görebildiğim her şey boştu.
fmark

@dassouki - Sadece onaylamak için, ulaşım analizi alanı hakkında fazla bir şey bilmiyorum (CBS ilgim bu aşamada ağ mesafesini hesaplamanın ötesinde değil), ancak bir ogr2networkxyazım aracında işbirliği yapmaktan memnuniyet duyarız .
fmark

2

Özellikle ne tür bir ağ analizi yapmak istediğinizden bahsetmediniz, ancak yönlendirme ile ilgileniyorsanız, birkaç seçenek vardır:

PgRouting http://pgrouting.postlbs.org/ yönlendirme analizi yapmak için PostGIS'deki verilerle çalışır. En Kısa Yol Dijkstra, En Kısa Yol A *, En Kısa Yol Kayan Yıldız ve Gezici Satış Elemanı (TSP) algoritmalarını destekler. Ayrıca sürüş mesafesi hesaplamaları yapar. PgRouting kullanan örnek uygulamaların bir listesi, http://pgrouting.postlbs.org/wiki/pgRoutingDemo PgRouting, Ride the City http://www.ridethecity.com/uygulamasını kullanıyor.

OpenRouter projesi http://wiki.osgeo.org/wiki/OpenRouter. Bu proje ilginç görünüyor, ancak bu noktada özellikle olgun değil.

(Alıntılanan URL'ler için özür dilerim, ancak> 1 URl yayınlamak için yeterli kredim yok ...)


Sizin için +1. Veri sınırlamaları ve şimdilik şimdilik postgis'i bıraktığımız için openstreet ve postgis verilerinden uzaklaşmaya bakıyorum. Genellikle Openstreet'ten çok daha iyi olan kendi verilerimizi sunarız, ancak aynı zamanda pgrouting ile sınırlı kalmak istemiyoruz. Diğer bir sorun ise diyelim ki pythonic veya arcgis dostu bir çöp toplama veya Çinli postacı veya Traveler satış elemanı problemleri uygulamak istiyoruz.
dassouki

SpatiaLite'a baktınız mı? Bu size dosya tabanlı ve platformdan bağımsız bir OpenSource uzamsal veritabanı verecektir. Ben kullanmadım, ama yönlendirme yeteneği SpatiaLite <ile olduğu görünmektedir gaia-gis.it/spatialite/spatialite-network-2.3.1.html >
DavidF

Ayrıca, NetworkX'i dikkatime sunduğunuz için teşekkürler. Bu gerçekten harika Python modülü gibi görünüyor.
DavidF

2

Bence cevap değişiyor. Çoğu GIS formatı açıkça bitişiklik bilgileri içermez (örneğin, bir ağda doğrudan okumak için bir anlaşma kırıcı olan iki özelliğin ortak bir uç noktayı paylaştığını belirtmek için basit çizgi özellikleri ile dolu bir .shp'de hiçbir gösterge yoktur).

Koddaki bir cursory peek, scw tarafından bağlı yarar ağ paketi sadece bu uç noktaları bit-bit bit için aynı ise bu bilgileri yeniden keşfedecek gibi görünüyor. Bu, sizinki de dahil olmak üzere çoğu ihtiyaç için yeterince iyi olabilir! (Bu konuda yanıltıcı olabilirim, çünkü gerçekten sadece lanetli bir bakıştı.)

Daha sağlam bir şey için - örneğin, ağda iki kenarın kesiştiği yeni düğümler oluşturmak isteyebilirsiniz veya üst üste binen uç noktaları çok az farklı yapan pertürbasyonları ele almak isteyebilirsiniz - bir yaklaşım aramalısınız geometriyi daha derinden inceler.

Çokgenlerden ağ bitişik bilgilerini kurtarmak için Boundary Generator ile benzer bir şey yaptım : maalesef yanlış platform, dil ve geometrik ilkel. Bununla birlikte, sağlamlık sorunlarına nasıl yaklaşılacağı konusunda kavrayıcı olabilir.


+1 ... Yanlış platformla ne demek istediğinizden emin değil misiniz? Açıklamanızı anlıyorum ve verileri düğümlere ve ağırlıklara dönüştüremediğim gerçekten çok etkileyici. shp dosyalarından bunu yapan sadece 2 program TransCAD ve EMME2 / 3
dassouki

"Yanlış platform" derken Sınır Üretecinin en azından şimdilik ArcGIS ortamı için yazıldığını kastediyorum. :) OGR ile çalışmak için bazı uyarlamalara ihtiyaç vardır. (Ayrıca, çokgenlerden çakışan kenarların aksine, hatlardan çakışan uç noktaları keşfetmek için önemli bir yeni kod olacaktır. Zamanım varsa / zamanım varsa bunu bir sonraki sürüme ekleyebilirim. Çok yararlı olabilir gibi görünüyor .)
Dan S.

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.