اعلانات انجمن


ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از سرویس WFS در openlayers
نویسنده پیام
mousavi آفلاین
مدیر انجمن
*****

ارسال‌ها: 463
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 140
ارسال: #1
استفاده از سرویس WFS در openlayers
سلام دوستان 

من یک سرویس WFS با استفاده از ArcGIS server 10 ایجاد کردم . برای انجام ویرایش و برخی قابلیت های دیگر به این سرویس در Opelayers نیاز دارم . با سرویس WMS مشکلی ندارم . کد زیر رو نوشتم اما وکتور رو در map نشون نمیده .

mxd من شامل یک لایه به نام iran_wgs با فرمت shapefile  است . لطفا راهنمایی بفرمایید . مثال هایی که در سایت های مختلف عنوان شده معملا با geoserver است و  مثالی در رابطه با arcgis server  پیدا نکردم . ممنونم

کد:
<!DOCTYPE html>
<html>
<head>
<title>Creating a simple map</title>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">
&lt;!-- Include OpenLayers library --&gt;
&lt;script type="text/javascript"
src="http://openlayers.org/api/2.11/
OpenLayers.js"></script>


&lt;style&gt;
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
&lt;/style>
&lt;!-- The magic comes here --&gt;
<script type="text/javascript"&gt;

function init() {

var map = new OpenLayers.Map("rcp1_map"
);
map.addControl(new OpenLayers.Control.LayerSwitcher());

var layer= new OpenLayers.Layer.Vector("wfs",{

strategies: [new OpenLayers.Strategy.BBOX()],

protocol: new OpenLayers.Protocol.WFS({


url: "http://.../ArcGIS/services/iran/MapServer/WFSServer",

featureNS: "",
featureType: "iran_wgs"




})



} )

map.addLayers(layer);

}

&lt;/script>
</head>
<body onload="init()"></body>
</html&gt;

>

نظرات و پیشنهادات شما یاری رسان ما و دوستانتان خواهد بود
 
۲۰-۷-۱۳۹۲ ۰۷:۲۹ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
mahmoodgh آفلاین
کاربر عادی
*

ارسال‌ها: 25
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 22
ارسال: #2
RE: استفاده از سرویس WFS در openlayers
سلام ؛
متاسفانه من هنوز با Arcgis Server کار نکردم اما فکر میکنم با خوندن لینک زیر مشکلتون حل بشه.


کد:
http://geographika.co.uk/mapserver-openlayers-and-the-wfs-maze

 
۲۰-۷-۱۳۹۲ ۰۹:۵۵ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
 اعتبار داده شده توسط : ادمین(+2) ، علوی(+1)
علوی آنلاین
ناظر انجمن
******

ارسال‌ها: 496
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 246
ارسال: #3
RE: استفاده از سرویس WFS در openlayers
سلام.
به احتمال زیاد مشکل از مشخص نکردن پارامتر version هست. این پارامتر یه پارامتر اجباری هست. 
استانداردهای مختلف OGC - مثل WFS - ورژن های مختلفی دارند که معمولا ورژن های بالاتر پیشرفته تر هستند. هر سیستم WebGIS -مثل ArcGIS Server یا GeoServer یا MapServer - ورژن های مشخصی از اون رو پیاده سازی می کنه که باید به مستندات همون سیستم مراجعه کرد.

کد زیر رو به عنوان نمونه برای MapServer ببینید:


کد:
layer2 = new OpenLayers.Layer.Vector("WFS", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.WFS({
url: "http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/ms101/htdocs/wfs.map&service=wfs",
featureType: "roads",
//featureNS: "http://mapserver.gis.umn.edu/mapserver",
//geometryName: "msGeometry",
//featurePrefix: "ms",
//srsName: "EPSG:4326", // Projection to be returned data in it.
//maxFeatures: "300", // maxFeatures to be returned.
version: "1.0.0"
}),

});

کد بالا بعضی پارامترهای  غیر ضروری هم داره که کامنت شده اند.
دو تا راه حل و پیشنهاد کلی:
1- یک کتاب Web Mapping - ظاهرا به همین اسم- هست که انتشارات ESRI منتشر کرده. به شخصه نخوندم اما قاعدتا باید برای رفع مشکلاتی از این دست مفید باشه.
2- ArcGIS API for Javascript رو همین میتونید امتحان کنید

موفق باشید

دو اصل اساسی انجمن:
1- احترام به یکدیگر
2- درصورت نقل مطلب، ذکر منبع و لینک به اصل مطلب

برای تقدیر و تشکر از دکمه [تصویر:  postbit_reputation.gif] در پایین هر ارسال استفاده کنید.
۲۱-۷-۱۳۹۲ ۰۵:۵۷ عصر
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
 اعتبار داده شده توسط : mousavi(+1)
mousavi آفلاین
مدیر انجمن
*****

ارسال‌ها: 463
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 140
ارسال: #4
RE: استفاده از سرویس WFS در openlayers
ورژن رو از xml capability پیدا کردم و در کد قرار دادم اما متاسفانه جواب نداد . البته در جایی عنوان شده که برای Openlayers در این مورد srs رو حتما مشخص کنیم که همان 4326 هست . با این حال از هم جواب نداد. ظاهرا openlayers کاری برای ارتباط wfs-t  arcgis نکرده . دیگران هم در سایت های مختلف این مشکل رو با Arcgis و Openlayers داشتند اما حل نشده .
ممنونم

نظرات و پیشنهادات شما یاری رسان ما و دوستانتان خواهد بود
 
۲۱-۷-۱۳۹۲ ۰۶:۳۰ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
علوی آنلاین
ناظر انجمن
******

ارسال‌ها: 496
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 246
ارسال: #5
RE: استفاده از سرویس WFS در openlayers
پارامتر geometryName رو هم اضافه کنید. ببینید تغییری می کنه؟
ورژن رو هم عوض کنید. اگه 1.0 هست بذارید 1.1 یا برعکس. شاید با یه ورژن دیگه کار کنه. مخصوصا بعضی وقت ها با ورژن جدید WFS یعنی 1.1 مشکل پیش میاد. چون نسخه GML که برمیگردونه فرق می کنه.
ضمنا سعی کنید با سرویس WFS اول تست کنید بعدا با WFS-T

دو اصل اساسی انجمن:
1- احترام به یکدیگر
2- درصورت نقل مطلب، ذکر منبع و لینک به اصل مطلب

برای تقدیر و تشکر از دکمه [تصویر:  postbit_reputation.gif] در پایین هر ارسال استفاده کنید.
(آخرین ویرایش در این ارسال: ۲۱-۷-۱۳۹۲ ۰۹:۳۴ عصر، توسط علوی.)
۲۱-۷-۱۳۹۲ ۰۹:۳۲ عصر
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
mousavi آفلاین
مدیر انجمن
*****

ارسال‌ها: 463
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 140
ارسال: #6
RE: استفاده از سرویس WFS در openlayers
ممنون آقای مهندس . حتما امتحان میکنم 

نظرات و پیشنهادات شما یاری رسان ما و دوستانتان خواهد بود
 
۲۲-۷-۱۳۹۲ ۰۸:۳۱ صبح
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
meysam65 آفلاین
کاربر عادی
*

ارسال‌ها: 18
تاریخ عضویت: آبا ۱۳۹۲
اعتبار: 7
ارسال: #7
RE: استفاده از سرویس WFS در openlayers
سلام آقای مهندس موسوی.
بنده هم دقیقا همین مشکل شما رو دارم. و کلی وقتمو گرفته. شما تونستید مشکل رو حل کنید؟
۵-۹-۱۳۹۳ ۰۸:۴۵ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان