澳大利亞選舉委員會有免費的ESRI和MapInfo合作澳大利亞選舉界線的GIS圖層download。我想使用免費工具將這些數據轉換爲縮略圖多邊形圖像。如何使用免費工具將ESRI或MapInfo GIS數據轉換爲圖像?
4
A
回答
4
我假設你想爲每個選民單獨的圖像?如果是的話,我會使用python採取如下方法:
閱讀使用GDAL/OGR幾何:
安裝GDAL/OGR tools及其python bindings。下載選舉界限的ESRI shapefile。確保你可以閱讀使用OGR多邊形形狀:
import sys
import ogr
ds = ogr.Open("/path/to/boundary/file.shp")
if ds is None:
print "Open failed.\n"
sys.exit(1)
lyr = ds.GetLayer(0)
lyr.ResetReading()
feat = lyr.GetNextFeature()
while feat is not None:
geom = feat.GetGeometryRef()
if geom is None or geom.GetGeometryType() != ogr.wkbPolygon:
print "no poly geometry\n"
feat = lyr.GetNextFeature()
ds.Destroy()
輸出通過使用勻稱的matplotlib幾何,笛卡爾
安裝matplotlib,shapely和descartes。修改上面的腳本通過勻稱和笛卡爾加載每個多邊形到matplob:
import sys
import ogr
from shapely.wkb import loads
from descartes import PolygonPatch
from matplotlib import pyplot
ds = ogr.Open("/path/to/boundary/file.shp")
if ds is None:
print "Open failed.\n"
sys.exit(1)
lyr = ds.GetLayer(0)
lyr.ResetReading()
feat = lyr.GetNextFeature()
while feat is not None:
geom = feat.GetGeometryRef()
if geom is None or geom.GetGeometryType() != ogr.wkbPolygon:
print "no poly geometry\n"
else:
# create matplotlib figure:
fig = pyplot.figure(1, figsize = [10,10], dpi = 300) #create 10x10 figure
ax = fig.addsubplot(111) #Add the map frame (single plot)
# add polygon:
patch = PolygonPatch(loads(feature.GetGeometryRef().ExportToWkb()), plus colour and line considerations)
ax.addpatch(patch) # simply add the patch to the subplot
# set plot vars
ax.set_xlim(get xmin and xmax values from data)
ax.set_ylim(get ymin and ymax values from data)
ax.set_aspect(1)
# save as image
pyplot.savefig('somefile.png', some arguments you like)¶
feat = lyr.GetNextFeature()
ds.Destroy()
顯然,你需要解決這個問題了一點得到它吸引你怎麼想,但一般的做法應該是聲。
1
結賬FWTools。
如果您需要轉換幫助,還有一個helpful mailing list。
2
下載和使用QGIS - www.qgis.org 這個方便的開源工具運行良好,並在本地打開了許多典型格式(即最初由ESRI開發的形狀文件)。它也有一個內置的OGR工具。
加上它只是玩的樂趣,並易於使用。
相關問題
- 1. GIS數據轉換
- 2. 將GIS地圖數據轉換爲SVG?
- 3. 免費的DTD到XSD轉換工具?
- 4. 免費的XSD到DTD轉換工具?
- 5. 如何將數據轉換爲圖像?
- 6. 有沒有任何免費的工具將html頁面轉換爲圖片?
- 7. 工具將圖像轉換爲base64
- 8. 將免費函數轉換爲類
- 9. 使用gdal2tiles將圖像轉換爲地圖工具
- 10. 使用mathjax或類似工具將Latex/MathML轉換爲SVG或圖像?
- 11. 在Word中將Word轉換爲PDF,使用免費圖書館
- 12. 如何從任何免費工具或簡單的轉換器學習HTML
- 13. 你知道任何免費的GIS衛星圖像嗎?
- 14. 將XSD轉換爲帶有工作註釋的C#的免費工具/擴展
- 15. 如何使用Javascript將網頁轉換爲PDF或圖像?
- 16. 將具有圖像數據的numpy數組轉換爲CvMat
- 17. 一個免費的GIS庫支持光柵圖像建議
- 18. 他們的任何免費的PHP圖書館將PPT或ODT轉換爲PDF
- 19. 免費或開源的.Net數據庫視圖/編輯工具,如phpMyAdmin
- 20. 如何將bytearray轉換爲圖像或圖像bytearray?
- 21. 將BLOB數據轉換爲圖像
- 22. 將圖像數據轉換爲字節[]
- 23. 將pointcloud2數據轉換爲opencv圖像
- 24. 將base64圖像數據轉換爲png?
- 25. 如何使用C++將圖像文件轉換爲ASCII圖像?
- 26. 開源或免費線框工具
- 27. 如何轉換爲HTML使用Javascript或PHP PDF或圖像
- 28. C#html to pdf converter使用wkhtmltopdf或任何其他免費工具
- 29. 使用免費的第三方DLL將word轉換爲pdf
- 30. 將圖像轉換爲iPhone工具欄圖標