mousavi
مدیر انجمن
    
ارسالها: 475
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 147
|
استفاده از سرویس 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">
<!-- Include OpenLayers library -->
<script type="text/javascript"
src="http://openlayers.org/api/2.11/
OpenLayers.js"></script>
<style>
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
</style>
<!-- The magic comes here -->
<script type="text/javascript">
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);
}
</script>
</head>
<body onload="init()"></body>
</html>
>
نظرات و پیشنهادات شما یاری رسان ما و دوستانتان خواهد بود
|
|
۲۰-۷-۱۳۹۲ ۰۷:۲۹ عصر |
|
mahmoodgh
کاربر عادی

ارسالها: 25
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 22
|
RE: استفاده از سرویس WFS در openlayers
سلام ؛
متاسفانه من هنوز با Arcgis Server کار نکردم اما فکر میکنم با خوندن لینک زیر مشکلتون حل بشه.
کد:
http://geographika.co.uk/mapserver-openlayers-and-the-wfs-maze
|
|
۲۰-۷-۱۳۹۲ ۰۹:۵۵ عصر |
|
علوی
ناظر انجمن
     
ارسالها: 559
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 268
|
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- درصورت نقل مطلب، ذکر منبع و لینک به اصل مطلب
برای تقدیر و تشکر از دکمه در پایین هر ارسال استفاده کنید.
|
|
۲۱-۷-۱۳۹۲ ۰۵:۵۷ عصر |
|
meysam65
کاربر عادی

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