Ini adalah pertanyaan yang sangat sederhana - Saya hanya ingin tahu apakah ada yang bisa mengkonfirmasi bahwa mereka telah berhasil menggunakan Mapnik untuk membuat ubin langsung dari data yang disimpan di SQL Server. (Dan, jika demikian, apa yang Anda lakukan untuk membuatnya berfungsi?) Tolong jangan balas kecuali Anda secara pribadi mengkonfirmasi bahwa ini mungkin ... bukan hanya bahwa itu harus mungkin
Saya telah melihat orang merekomendasikan Mapnik untuk merender data dari SQL Server dalam utas seperti ini: Apa pun Mesin Pencetak Peta yang Baik untuk SqlGeometry / SqlGeography
Juga, situs web mapnik menyatakan bahwa "semua format OGR didukung": http://mapnik.org/faq/#data
Namun, saya benar-benar tidak dapat menggunakan koneksi ke database SQL Server lokal saya sebagai sumber data untuk lapisan Mapnik. Sebagai pengujian, saya menggunakan tes langsung OGR VRT, yang mengeksekusi pernyataan SQL pada SQL Server untuk memilih satu geografi sebaris Poligon sebagai Teks Yang Dikenal, sebagai berikut:
<OGRVRTDataSource>
<OGRVRTLayer name="test">
<SrcDataSource>MSSQL:server=zangief\DENALICTP3;database=TempDB;</SrcDataSource>
<SrcSQL>SELECT geography::STPolyFromText('POLYGON((0 50, 2 50, 2 53, 0 53, 0 50))', 4326).STAsText() AS geomWKT</SrcSQL>
<GeometryField encoding="WKT" field="geomWKT"/>
<LayerSRS>EPSG:4326</LayerSRS>
<GeometryType>wkbPolygon</GeometryType>
</OGRVRTLayer>
</OGRVRTDataSource>
(Catatan Saya juga sudah mencoba ini dengan sintaks SELECT * FROM Table yang lebih konvensional). OGRINFO berhasil membuka VRT ini dan melaporkan yang berikut:
ogrinfo mssql.ovf -so -al
INFO: Open of `mssql.ovf'
using driver `VRT' successful.
Layer name: test
Geometry: Polygon
Feature Count: 1
Extent: (0.000000, 50.000000) - (2.000000, 53.000000)
Layer SRS WKT:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4326"]]
geomWKT: String (0.0)
Namun, pengaturan file VRT yang sama ini sebagai sumber data untuk lapisan Mapnik melaporkan kesalahan berikut:
ERROR 1: Failed to open datasource `MSSQL:server=zangief\DENALICTP3;database=Tem
pDB;'.
Traceback (most recent call last):
File "rundemo.py", line 48, in <module>
provlines_lyr.datasource = mapnik.Ogr(file="mssql.ovf", layer="test")
File "C:\OSGeo4W\apps\Python25\lib\site-packages\mapnik\__init__.py", line 418
, in Ogr
return CreateDatasource(keywords)
RuntimeError: Failed to open datasource `MSSQL:server=zangief\DENALICTP3;databas
e=TempDB;'.
Tampaknya ada beberapa masalah antara cara driver OGR membuat koneksi SQL Server dan Mapnik, tapi saya tidak tahu persis di mana itu. Saya belum menemukan bukti atau contoh yang menunjukkan bahwa orang lain telah berhasil mencapai ini ...
sumber
Anda dapat menggunakan Format Virtual (GDAL) untuk menarik data dari Database MSSQL Anda
http://www.gdal.org/ogr/drv_vrt.html
sumber: http://alastaira.wordpress.com/2011/06/16/tile-rendering-with-mapnik-part-1-of-n-where-n-is-large/
Meskipun merekomendasikan Postgres PostGIS (memiliki fungsi Geometri yang lebih baik di sisi basis data)
sumber