因此,我正在設置基於代理的模型,該模型運行在地理圖上 - 在這種情況下是敘利亞。我試着用python編寫它,但是性能相當慢 - 即使經過了一些優化技巧。我在想,我應該轉向用C++編寫模型,但我不知道哪些可視化軟件包可以合併地圖?我傾向於在C++中使用gnuplot,但我無法找到將gis底圖合併到該包中的方法。我不確定這是否可以在VTK或任何其他軟件包中使用。我想找到一種方法來在C++中快速運行我的模型,但不會丟失地理信息。有什麼建議麼?用於更高性能計算的C++ gis /空間庫
0
A
回答
1
所以我真的想出了這個問題的答案,併發布瞭解決方案給大家。如果你使用python,最好的選擇就是使用Enthought的mayavi和tvtk包。 Mayavi是C++ VTK庫之上的一個GUI。而tvtk實際上是python訪問VTK對象的包裝器。因此,這允許一個人使用python GIS軟件包 - 比如pyshp,Shapely和其他人來操作GIS對象,然後將它們寫入健壯且快速的mayavi中進行可視化。同時,如果您想堅持使用C++,那麼您仍然可以使用gdal或ogr等編寫C++代碼,然後在VTK中運行您的可視化文件。這似乎更容易,更直觀,然後嘗試運行其他一些軟件包,如GRASS,QGIS或ArcGIS。
下面是這個工具集的一個很好的例子。 Example
1
也許這個項目對你有用嗎?
http://code.google.com/p/vtk-grass-bridge/
如果可以使用GRASS處理GIS數據,似乎項目能夠將其轉換爲VTK東西可以渲染,都在一個C++應用程序。
0
是什麼讓你相信你的模型的C++實現會快得多?我建議在關注如何將結果可視化之前,首先關注導致您的python實現緩慢的原因。這是你的算法不會擴展嗎?如果您嘗試過優化技巧,那些技巧是什麼,您爲什麼認爲它們不起作用?它們最終歸結爲在硬件上執行的機器指令,無論這些指令是作爲python,C++還是某些其他語言源代碼啓動的。除非您的python始終運行fully interpreted,否則我認爲您不會發現單獨使用切換語言會導致您具有根本不同的性能配置文件。 Premature optimization仍然是要避免的。
相關問題
- 1. 用於向量和矩陣計算的高性能數學庫
- 2. 用於C++高性能計算的資源
- 3. 高性能計算pthread參數-C++
- 4. 在PHP中的GIS空間功能?
- 5. 用於計算色差(delta E)和色彩空間轉換的C/C++庫
- 6. 用於ASP.net的GIS庫MVC
- 7. 用於測試性能的GIS示例數據
- 8. 使用Ruby進行高性能計算?
- 9. 用於高性能FIFO的C++容器
- 10. Python庫,用於計算光流的空間導數
- 11. 用於包裹包裝的PHP/C++空間計算
- 12. 用於高性能SQL Server數據庫設計的資源
- 13. 更新計算性能
- 14. 基於Θ(nlogn)的計算性能
- 15. 雲高性能計算的可靠時間測量
- 16. 簡單的gis計算的java api
- 17. 計算性能
- 18. 用於.NET/C#和Java的高性能數學庫
- 19. 提高空間MySQL查詢的性能
- 20. C#的GetHashCode()高性能散列算法
- 21. 計算性能
- 22. 數據中心vs高性能計算
- 23. C++庫用於計算矩陣指數
- 24. 算法的複雜性能和空間
- 25. 計算TextView渲染性能的時間
- 26. 用於人工智能中高級計劃的算法
- 27. 陣列C [] = A [] * B []在高性能計算
- 28. 計算性能
- 29. 基於性能的雲計算和網格計算的比較
- 30. 提高圖連通性計算的性能