Questa è una domanda molto semplice: voglio solo sapere se qualcuno può confermare di aver utilizzato con successo Mapnik per eseguire il rendering dei riquadri direttamente dai dati contenuti in SQL Server. (E, in tal caso, cosa hai fatto per farlo funzionare?) Per favore non rispondere a meno che tu non abbia confermato personalmente che ciò è possibile ... non semplicemente che dovrebbe essere possibile
Ho visto persone raccomandare Mapnik per il rendering dei dati da SQL Server in thread come questo: Qualsiasi buon motore di rendering di mappe per SqlGeometry / SqlGeography
Inoltre, il sito web mapnik afferma che "sono supportati tutti i formati OGR": http://mapnik.org/faq/#data
Tuttavia, non sono stato completamente in grado di utilizzare una connessione al mio database SQL Server locale come origine dati per un livello Mapnik. Come test, sto usando un test OGR VRT semplice, che esegue un'istruzione SQL su un SQL Server per selezionare un singolo poligono di geografia in linea come testo noto, come segue:
<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>
(Nota: ho anche provato questo con la sintassi SELECT * FROM Table più convenzionale). OGRINFO apre con successo questo VRT e riporta quanto segue:
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)
Tuttavia, l'impostazione di questo stesso file VRT come origine dati per un livello Mapnik segnala il seguente errore:
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;'.
Sembra che ci sia qualche problema tra il modo in cui il driver OGR crea la connessione SQL Server e Mapnik, ma non so esattamente dove sia. Non ho ancora trovato prove o esempi per suggerire che qualcun altro sia stato in grado di raggiungere questo obiettivo con successo ...