Bu çok basit bir soru - sadece herkes başarıyla SQL Server'da tutulan verilerden fayans oluşturmak için Mapnik kullandıklarını onaylamak olup olmadığını bilmek istiyorum. (Ve eğer öyleyse, bunun çalışması için ne yaptınız?) Lütfen bunun mümkün olduğunu kişisel olarak teyit etmedikçe cevap vermeyin ... sadece mümkün olması gerektiğini değil
İnsanların Mapnik'i SQL Server'dan bu gibi konularda veri oluşturmaları için önerdiklerini gördüm: SqlGeometry / SqlGeography için herhangi bir İyi Harita Oluşturma Motoru
Ayrıca, mapnik web sitesinde "tüm OGR formatlarının desteklendiği" belirtilmektedir: http://mapnik.org/faq/#data
Ancak, bir Mapnik katmanı için veri kaynağı olarak yerel SQL Server veritabanımla bağlantıyı tamamen kullanamadım. Bir test olarak, aşağıdaki gibi tek bir satır içi coğrafya çokgen çokgen seçmek için bir SQL Server'da bir SQL deyimi yürüten basit bir test OGR VRT kullanıyorum:
<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>
(Not da daha geleneksel SELECT * FROM Tablo sözdizimi ile denedim). OGRINFO bu VRT'yi başarıyla açar ve aşağıdakileri rapor eder:
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)
Ancak, aynı VRT dosyasını bir Mapnik katmanı için veri kaynağı olarak ayarlamak aşağıdaki hatayı bildirir:
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;'.
Görünüşe göre OGR sürücüsünün SQL Server bağlantısını oluşturma biçimi ile Mapnik arasında bir sorun var, ama tam olarak nerede olduğunu bilmiyorum. Başka birinin de bunu başarıyla başarabildiğini gösteren herhangi bir kanıt veya örnek bulamadım ...