Poligonları linestleştirmeye basitleştirmek mi?


16

Nehirleri linestringlere yansıtan çokgenleri basitleştirmek istiyorum. Çokgenlerdeki deliklerin atlanabileceğini varsayıyorum. Bunu nasıl yapacağınızı iyi bilen var mı?

Doğrudan postgis veya başka bir açık kaynak aracıyla yapılması mümkün olsa iyi olurdu, ancak kısa algoritma açıklaması yeterli olacaktır.

Yanıtlar:


13

İhtiyacınız olan şeye "iskelet algoritması" denir.

Bu makaleye bir göz atın:

Haunert, J.-H., Sester, M., Haziran 2008. Düz iskeletlere dayalı alan çökmesi ve yol merkez hatları. GeoInformatica 12 (2), 169-191. URL http://dx.doi.org/10.1007/s10707-007-0028-x

Bu algoritmaların bazıları CGAL kütüphanesinde geliştirilmiştir .


Artık iki bağlantı da çalışmıyor, Julien: İnsanların makalelere bakmasını sağlamak için algoritmaların bir özetini veya en azından resmi referansları sağlayabileceğinizi düşünüyor musunuz?
whuber

Evet, yanıtı daha yeni bir makaleye uygun bir referansla güncelledim.
julien

2
Teşekkür ederim! (Yine başka bir upvote ekleyemezsiniz - Ben sadece bir tane vermek vardı. :-)
whuber

4

SFCGAL ile PostGIS 2.2'de bu, ölçütlerinize bağlı olarak ST_StraightSkeleton veya ST_ApproximateMedialAxis ile yapılabilir .


2

JUMP skeletonizer eklentisi openjump'ın bir parçası olarak mevcuttur http://www.openjump.org


1

Bir uyarı olarak, bunu daha önce hiç denemedim. Başarınız, halihazırda sahip olduğunuz verilerin kalitesine bağlı olacaktır.

Yani, çokgeni bir üçgen şeridi olarak düşünün. Her üçgen, koridorun karşı tarafındaki bir köşeye bir kenara bağlanır. Şimdi, koridordaki kenarların her biri için, merkeze bir tepe noktası sağ şaplak yerleştirin. Bu yeni köşeler, kökeninizin noktalarıdır. Daha fazla doğruluk için muhtemelen kenardaki orta noktayı nasıl seçtiğinizle uğraşabilirsiniz.


0

Bir kez daha, ET GeoWizards cevap olabilir. Çokgenlerden Merkez Çizgileri Oluştur aracını deneyin .

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.