ম্যাপনিক এসকিউএল সার্ভার থেকে স্থানিক ডেটা রেন্ডার করতে পারে?


10

এটি একটি খুব সাধারণ প্রশ্ন - আমি কেবল জানতে চাই যে এসকিউএল সার্ভারে থাকা ডেটা থেকে সরাসরি টাইলস রেন্ডার করতে তারা ম্যাপনিককে সফলভাবে ব্যবহার করেছে কিনা তা নিশ্চিত করতে পেরেছি কিনা। (এবং, যদি তাই হয়, আপনি কি এটি কাজ করা কি?) দয়া করে উত্তর দেবেন না, যদি না আপনি ব্যক্তিগতভাবে নিশ্চিত করেছেন যে এই সম্ভব ... কেবল নয় এটি করা উচিত সম্ভব হবে

আমি লোকেরা এসকিউএল সার্ভার থেকে এই জাতীয় থ্রেডে ডেটা রেন্ডারিংয়ের জন্য ম্যাপনিককে সুপারিশ করতে দেখেছি: এসকিএলজিওমিট্রি / স্কেল জিওগ্রাফির জন্য কোনও ভাল মানচিত্র রেন্ডারিং ইঞ্জিন

এছাড়াও, ম্যাপনিক ওয়েবসাইটটিতে বলা হয়েছে যে "সমস্ত ওজিআর ফর্ম্যাটগুলি সমর্থিত": http://mapnik.org/faq/#data

তবে আমি ম্যাপনিক স্তরের ডেটাসোর্স হিসাবে আমার স্থানীয় এসকিউএল সার্ভার ডাটাবেসের সাথে একটি সংযোগ ব্যবহার করতে পুরোপুরি অক্ষম হয়েছি। পরীক্ষা হিসাবে, আমি একটি সোজা পরীক্ষা ওজিআর ভিআরটি ব্যবহার করছি, যা একটি এসকিউএল সার্ভারে একটি এসকিউএল বিবৃতি কার্যকর করে একটি একক ইনলাইন জিওগ্রাফি বহুভুজকে সুপরিচিত পাঠ্য হিসাবে নির্বাচন করে:

<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>

(দ্রষ্টব্য আমি আরও প্রচলিত নির্বাচন * টেবিলে বাক্য গঠন দিয়ে চেষ্টা করেছি)। ওজিআরআইএনএফও সাফল্যের সাথে এই ভিআরটি খুলবে এবং নিম্নলিখিতগুলি প্রতিবেদন করে:

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)

তবে এই একই ভিআরটি ফাইলটিকে কোনও ম্যাপনিক স্তরকে ডেটাসোর্স হিসাবে সেট করা নীচের ত্রুটিটি রিপোর্ট করে:

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;'.

দেখে মনে হচ্ছে যে ওজিআর ড্রাইভার এসকিউএল সার্ভার সংযোগ এবং ম্যাপনিকের মধ্যে যে সমস্যা তৈরি করেছে তার মধ্যে কিছু সমস্যা আছে তবে আমি জানি না এটি ঠিক কোথায়। অন্য যে কেউ সফলভাবে এটি অর্জন করতে সক্ষম হয়েছে তা বোঝাতে আমি এখনও কোনও প্রমাণ বা উদাহরণ পাইনি ...

উত্তর:


2

ওজিআর ভার্চুয়াল ফর্ম্যাট সহায়তা পৃষ্ঠায় সুস্পষ্ট ওভারভিউয়ের অভাব আছে বলে মনে হচ্ছে । এটি "নন-ফাইল ওরিয়েন্টেড ডেটাসোর্সে অ্যাক্সেসের জন্য একটি অ্যাঙ্কর ফাইল সরবরাহ করতে পারে " এই বাক্যাংশটি বোঝায় যে কোনও সংযোগের ধরণটি ব্যবহার করা যেতে পারে, তবে আমি নিশ্চিত নই যে এটি ঘটেছে।

এর মূল ফাংশনটি স্থানিক তথ্য অ-স্থানীয় উত্স থেকে তৈরি করার অনুমতি দেওয়া ছিল, উদাহরণস্বরূপ, ডাটাবেস টেবিলের মধ্যে একটি এক্স এবং ওয়াই কলাম সংযুক্ত করে পয়েন্ট বৈশিষ্ট্য তৈরি করতে।

তবে এই উদ্দেশ্যে কোনও স্থানিক ডাটাবেসও ব্যবহার করা যাবে না এর কোনও কারণ নেই, তবে আপনার তখন এমএসএসকিউএল ড্রাইভারের পরিবর্তে একটি স্ট্যান্ডার্ড ওডিবিসি সংযোগ ব্যবহার করা উচিত ।

এটি করার জন্য উইন্ডোজে একটি ডিএসএন (ডেটা উত্সের নাম) তৈরি করুন। তারপরে ভার্চুয়াল স্তর কনফিগারেশনে ওডিবিসি সংযোগ এবং ডিএসএন ব্যবহার করুন। সুতরাং যদি আপনার ডিএসএন এর নাম দেওয়া হয় ওএসভিেক্টরম্যাপ:

<OGRVRTDataSource>
  <OGRVRTLayer name="AASQLlayer">
    <SrcDataSource>ODBC:username/password@OSVectorMap</SrcDataSource>
    <SrcSQL>SELECT geom27700.STAsText() AS geomWKT FROM TG11_Settlement_Area</SrcSQL>
    <GeometryField encoding="WKT" field="geomWKT"/>
    <LayerSRS>EPSG:4326</LayerSRS>
    <GeometryType>wkbPolygon</GeometryType>
  </OGRVRTLayer>
</OGRVRTDataSource>

ম্যাপসার্ভার উইকি এবং ভার্চুয়াল স্পেসিয়াল ডেটা পৃষ্ঠায় ভার্চুয়াল স্তর তৈরির বিষয়ে আরও কয়েকটি বিশদ রয়েছে ।

দারুণ ব্লগ পোস্ট । পাইথন ৩.x ব্যবহারের বিষয়ে আমি খুব বেশি চিন্তা করব না - প্রায় সমস্ত দরকারী জিআইএস লাইব্রেরি এখনও ২.x এ রয়েছে এবং এসকিউএল সার্ভার জ্যামিতি এবং ভূগোলের ধরণগুলি দুর্দান্ত। কেবলমাত্র ডাউনসাইডগুলি হ'ল এসকিউএল সার্ভার দুর্ভাগ্যক্রমে ব্লগ পোস্টগুলির ক্ষেত্রে ও অন্য সরঞ্জামগুলির সাথে সংহতকরণের ক্ষেত্রে ওপেনসোর্স বিশ্বে দ্বিতীয় শ্রেণির নাগরিক বলে মনে হচ্ছে।


জবাবের জন্য ধন্যবাদ. আমি ভিআরটি-তে এসকিউএল সার্ভারের সাথে একটি ওডিবিসি সংযোগ দিয়ে চেষ্টা করেছি এবং দুর্ভাগ্যক্রমে একই ত্রুটির ফলস্বরূপ। আমি মনে করি না যে এটি এসকিউএল সার্ভারের সাথে ওজিআর ভিআরটি সংযোগের ক্ষেত্রে কোনও সমস্যা, কারণ আমি এই ভিআরটি কিউজিআইএস বা ওজিআর 2 ওজিআর এ লোড করতে পারি, বলতে পারি এবং কোনও সমস্যা ছাড়াই এসকিউএল বৈশিষ্ট্যগুলি অ্যাক্সেস করতে পারি। আমি মনে করি এটি ম্যাপনিক ওজিআর ড্রাইভারের সাথে একটি সমস্যা তবে আপনি যেমনটি বলেছেন, দুর্ভাগ্যক্রমে অনেক ওপেনসোর্স লোকেরা এসকিউএল সার্ভার ব্যবহার করে না :( ভাগ্যক্রমে, ম্যাপসার্ভার এসকিউএল সার্ভারের সাথে কাজ করে , যদিও আমি ম্যাপনিকের রেন্ডারিংকে পছন্দ করি, তবে আমাকে কাজ করতে হবে পরিবর্তে।
অ্যালিস্টার আইচিসন

@ আলাস্টায়ার - আপনি কি নিশ্চিত যে কোনও পার্থক্য নেই? এমএসএসকিউএলের সাথে ম্যাপনিকের মাধ্যমে ডেটাবেজে পৌঁছানো কিছুই ছিল না, তবে ওডিবিসি দিয়ে এসকিউএল প্রোফাইলার দেখিয়েছেন যে অনুসন্ধানগুলি কার্যকর করা হচ্ছে। আমি পরে বাস্তব তথ্য দিয়ে চেষ্টা করব।
geographika

0

আপনি আপনার এমএসএসকিউএল ডেটাবেস থেকে ডেটা টানতে ভার্চুয়াল ফর্ম্যাট (জিডিএল) ব্যবহার করতে পারেন

http://www.gdal.org/ogr/drv_vrt.html

    <OGRVRTDataSource>
  <OGRVRTLayer name="AASQLlayer">
    <SrcDataSource>MSSQL:server=.\SQLEXPRESS;database=OSVectorMap;trusted_connection=yes</SrcDataSource>
    <SrcSQL>SELECT geom27700.STAsText() AS geomWKT FROM TG11_Settlement_Area</SrcSQL>
    <GeometryField encoding="WKT" field="geomWKT"/>
  </OGRVRTLayer>
</OGRVRTDataSource>

উত্স: http://alastaira.wordpress.com/2011/06/16/tile-rendering-with-mapnik-part-1-of-n-where-n-is-large/

যদিও পোস্টগ্রিস পোস্টজিআইএসের সুপারিশ করুন (ডাটাবেসের দিকে আরও ভাল জ্যামিতির ফাংশন রয়েছে)


মাইএসকিউএল -> এমএস এসকিউএল। আমি নিজে এটি সংশোধন করতে চেয়েছিলাম, তবে এটি "সম্পাদনায় কমপক্ষে 6 টি অক্ষর প্রয়োজন" সম্পর্কে অভিযোগ করে।
ইগোর ব্রেজক

1
আমি কিনা উপলব্ধি জানি না, তবে ব্লগ লিংক আপনি প্রদান করেছেন লেখক থেকে ....
: Kelso

@ ম্যাপার্জ - উত্তর দেওয়ার জন্য সময় দেওয়ার জন্য থ্যাঙ্কিও, তবে দয়া করে আমার প্রশ্নটি আবার পড়ুন - আমি এমন কোনও ব্যক্তির কাছ থেকে শুনতে চাই যা ব্যক্তিগতভাবে নিশ্চিত করে যে তারা ম্যাপনিককে এসকিউএল সার্ভারের সাথে সংযুক্ত করার জন্য পেয়েছে - কেবল তাত্ত্বিকভাবে এটি সম্ভব হওয়া উচিত নয়। যেমন কেলসো উল্লেখ করেছেন, আপনার সাথে সংযুক্ত ব্লগ নিবন্ধটি আমার লেখা এবং আরও কী, আপনি যদি সত্যিই এটি পড়েন তবে আপনি দেখতে পাবেন যে আমি কীভাবে ওজিআর সংযোগ পেতে ব্যর্থ হয়েছিলাম তা বর্ণনা করেছি (তাই কেন আমি পোস্ট করছি? এই প্রশ্ন)!. এছাড়াও, কোন ভিত্তিতে আপনি বলবেন যে PostGIS এর জ্যামিতির কার্যকারিতা আরও ভাল?
অ্যালাস্টার আইচিসন

@ অ্যালিস্টায়ার: ওএসএম- ডেভেলিং মেলিং তালিকায় ( list.openstreetmap.org/listinfo/dev ) প্রশ্ন জিজ্ঞাসা করার চেষ্টা করুন , সেখানে অনেকগুলি ম্যাপনিকার রয়েছে।
ইগোর ব্রেজক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.